2011-10-18 9 views
17

私はID列(ID、int)と名前列(varchar(250))を持つ(MS)SQLデータベース内のテーブルを持っています。 しかし、名前列の値には、(他の何かから)カットアンドペーストされたと思うので、(かなりランダムな)先頭と末尾のスペースが含まれています。1つの文の列のすべての値を切り捨てることはできますか?

update MyTable set Name = trim(name) 

、それがトリミングされた値を持つすべての名前の列を更新している:

は、それが次の操作を実行するT-SQLで可能ですか?

答えて

52

MS SQLは、トリム機能を持っていません試してみてください。 rTrimとlTrimを一緒に使用する必要があります。

update MyTable set Name = lTrim(rTrim(name)) 
+0

おかげ@Bazzaは、 、私はトリムを見つけることができなかったのも不思議ではない! – BlueChippy

9

update MyTable set Name = LTRIM(RTRIM((name)) 
2

は、SQL ServerでのみRTRIMLTRIMありますが、あなたは一緒に両方を使用することができます。

update MyTable set Name = RTRIM(LTRIM((name)) 
3

あなたはこの試みることができる:

UPDATE MyTable 
SET Name = LTRIM(RTRIM(Name)) 

を作成するために見てhereてくださいあなたのデータベース内の関数がより速くそれを使用するための関数

+0

ありがとう@Bazzaの答えが最初に現れましたが、余分な情報に感謝します。 – BlueChippy

+0

@BlueChippy:ようこそ! :) – Marco

0

かなりない - あなたは(それぞれ、右と左トリム)RTRIM()LTRIM()を使用する必要がありますので、利用可能なTRIM()機能は、ありません。

UPDATE MyTable set Name = rtrim(ltrim(name)) 
1

はこれを試してみてください:

UPDATE [table] SET [column1] = REPLACE([column1],'i:0#.w|',' ')

関連する問題