9

SQL サーバー MSDE 2000 を使用していますnotes。nvarchar(65) 型のフィールドがあります。

コンテンツは、すべてのレコードで、コンテンツの後に余分なスペース (明確にするために引用符) を付けた 'Something' です。次のコマンドを使用しました。

UPDATE TABLE1 
   SET notes = RTRIM(LTRIM(notes))

しかし、うまくいきません。それを行う別の方法はありますか?

4

3 に答える 3

11

クエリが機能していませんか? 試す:

SELECT TOP 100 '~'+ t.notes +'~'
  FROM TABLE1 t

TOP 100結果を最初の 100 行に制限します。これは、出力に実際にスペースがあるかどうかを判断するのに十分です。存在し、RTRIM/LTRIM がそれを削除していない場合は、空白文字を扱っていません。その場合は、次を試してください。

UPDATE TABLE1
  SET notes = REPLACE(notes, 
                      SUBSTRING(notes, PATINDEX('%[^a-zA-Z0-9 '''''']%', notes), 1), 
                      '')
WHERE PATINDEX('%[^a-zA-Z0-9 '''''']%', notes) <> 0
于 2009-12-08T05:49:00.053 に答える
0

...または、クエリの結果としてフィールドの末尾にある空白 ' ' (スペース) を文字どおりコピーして replace ステートメントに貼り付け、そこからすべてを更新することもできます。

update TABLE1
set notes = replace(notes, ' ', '')
于 2013-09-10T22:52:49.983 に答える