我在(MS)SQL数据库中有一个表,它有一个Id列(identity,int)和一个Name列(varchar(250)).但是,name列中的值包含(相当随机的)前导和尾随空格,因为我认为它们是从"其他内容"剪切和粘贴的(不知道是什么!).
是否可以在T-SQL中执行以下操作:
update MyTable set Name = trim(name)
Run Code Online (Sandbox Code Playgroud)
并使用修剪后的值更新所有Name列?
Bar*_*dan 60
MS SQL没有trim函数.你需要一起使用rTrim和lTrim.
update MyTable set Name = lTrim(rTrim(name))
Run Code Online (Sandbox Code Playgroud)
从 SQL Server 2017 (14.x) 及更高版本开始,有 TRIM() 函数,因此;
UPDATE MyTable set Name = TRIM(name)
Run Code Online (Sandbox Code Playgroud)
会工作得很好。或者就我而言,我还想在修剪后将空字段清空。
UPDATE MyTable set Name = NULLIF(TRIM(name), '')
Run Code Online (Sandbox Code Playgroud)