datatable.columnのデータを更新/置換する必要があります。テーブルにはという名前のフィールドがありますContent
。REPLACE
関数を使用しています。列のデータ型がであるためNTEXT
、SQL ServerではREPLACE
関数を使用できません。
このデータベースはサードパーティのソフトウェアテーブルであるため、データタイプを変更できません。データ型を変更すると、アプリケーションが失敗します。
UPDATE [CMS_DB_test].[dbo].[cms_HtmlText]
SET Content = REPLACE(Content,'ABC','DEF')
WHERE Content LIKE '%ABC%'
私はこのエラーを受け取ります:
メッセージ8116、レベル16、状態1、行1引数データ型ntextは、置換関数の引数1では無効です。
- T-SQLでこれを修正できますか?誰かが読んでループする方法の例はありますか?
- これは1回限りの変換であるため、別のタイプに変更できる可能性がありますが、データをめちゃくちゃにしているようです。
主キーフィールドがあります:名前:ID-整数-これはIDです...だから私もこれについて考える必要があります。Identityを一時的にNに設定している可能性があります。
REPLACE機能の実現方法について教えてください。
約 3000のステートメントは、新しいソリューションで更新する必要があります。
これはSQL Server 2000ですか?
—
p.campbell 2010
回答:SQL2008を使用しています...データベースには互換性レベル2000(80)があります。これも2008年に変更した場合、機能しますか?結果はまだわからないので、互換性レベル2000のままにしましたが、これはSQL 2008データベースです。これは1時間変換...である
—
ethem