我有一個表(MS)的SQL數據庫,它有一個Id列(identity,int)和一個Name列(varchar(250))。 但是,名稱列中的值包含(相當隨機的)前導和尾隨空格,因爲我認爲它們是從「其他」剪切和粘貼的(不知道是什麼!)。是否可以在單個語句中修改列中的所有值?
是否有可能在T-SQL執行以下操作:
update MyTable set Name = trim(name)
,並將它更新所有與修剪值的名稱列?
我有一個表(MS)的SQL數據庫,它有一個Id列(identity,int)和一個Name列(varchar(250))。 但是,名稱列中的值包含(相當隨機的)前導和尾隨空格,因爲我認爲它們是從「其他」剪切和粘貼的(不知道是什麼!)。是否可以在單個語句中修改列中的所有值?
是否有可能在T-SQL執行以下操作:
update MyTable set Name = trim(name)
,並將它更新所有與修剪值的名稱列?
MS SQL不具有微調功能。你需要一起使用rTrim和lTrim。
update MyTable set Name = lTrim(rTrim(name))
嘗試
update MyTable set Name = LTRIM(RTRIM((name))
在SQL Server中,只有RTRIM
和LTRIM
,但你們可以一起使用這兩個:
update MyTable set Name = RTRIM(LTRIM((name))
感謝@Bazza答案首先出現,但感謝您的額外信息。 – BlueChippy
@BlueChippy:不客氣! :) – Marco
不太 - 沒有TRIM()
功能,所以你必須使用RTRIM()
和LTRIM()
(左手和內飾,分別對應)
UPDATE MyTable set Name = rtrim(ltrim(name))
試試這個:
UPDATE [table] SET [column1] = REPLACE([column1],'i:0#.w|',' ')
感謝@Bazza ,難怪我找不到修剪! – BlueChippy