2017-09-04 7 views
0
USE DBname 
UPDATE notestable 
SET NotesColumn= REPLACE(NotesColumn,',','') 
WHERE NotesColumn LIKE '%,%' 

このコードを実行しようとすると、以下のエラーが表示されます。SQLのフリーテキスト列からカンマを削除しようとするとエラーが発生する

Msg 8116, Level 16, State 1, Line 2 
Argument data type text is invalid for argument 1 of replace function. 

私は一週間前に類似したコードを実行するために管理し、すでにこのコラムからすべての引用符を削除しますが、私は行方不明だ何かが明確にあります。あなたは、テキストデータ型にREPLACEを実行することはできませんhttps://social.msdn.microsoft.com/Forums/sqlserver/en-US/12c2e9bf-a5c2-484a-a7b3-021890c61963/how-to-remove-comma-fro-sql-string?forum=transactsql

+0

に変換し、それは多分問題がtextデータ型に依存して試してみてください? – dbajtr

+0

@ dbajtr看護師が患者に起こったことの簡単な説明を書くときのメモ欄です –

+0

あなたのフィールドはNVARCHARではなく他のデータ型である可能性がありますか?親切にチェック –

答えて

1

:私はこのポストからのコードを使用していますが、そのはまだ働いていない

(私たちは政府機関のために働くので、私は意図的に名前を変更しました)。最初に[n]varchar(max)に変換してください。

USE DBname 
UPDATE notestable 
SET NotesColumn= REPLACE(CONVERT(nvarchar(max), NotesColumn),',','') 
WHERE NotesColumn LIKE '%,%' 
+0

ありがとう、195837行が影響を受けています:) –

+0

私はあなたが期待していることを願っています! :) –

+0

CSVに出力するレポートソフトウェアを使用してレポートを取得する際に問題を抱えていたことが願っています。これは特別な担当者 –

1

は、データがどのように見えるんvarchar(max)

USE DBname 
UPDATE notestable 
SET NotesColumn= REPLACE(CONVERT(VARCHAR(MAX), fieldName),',','') 
WHERE NotesColumn LIKE '%,%' 
0
USE DBname 
UPDATE notestable 
SET NotesColumn= CAST(REPLACE(CAST(NotesColumn AS nvarchar(MAX)),',','')AS ntext) 
WHERE NotesColumn LIKE '%,%' 
関連する問題