[解決済み] text または ntext データ型に対する REPLACE の代替案
2022-09-05 13:11:35
質問
datatable.columnのデータを更新/置換する必要があります。このテーブルには
Content
. 私は
REPLACE
関数を使用しています。カラムのデータ型が
NTEXT
であるため、SQL Server では、カラムのデータ型として
REPLACE
関数を使用することができません。
このデータベースはサードパーティのソフトウェアテーブルなので、datatypeを変更することができないのです。データ型を変更すると、アプリケーションは失敗します。
UPDATE [CMS_DB_test].[dbo].[cms_HtmlText]
SET Content = REPLACE(Content,'ABC','DEF')
WHERE Content LIKE '%ABC%'
このようなエラーが発生します。
Msg 8116, レベル 16, ステート 1, ライン 1 replace関数の引数1の引数データ型ntextは無効です。
- T-SQLで修正することは可能ですか?どなたか、読み込みとループの例をお持ちですか?
- onetime変換なので、他の型に変更できるかもしれませんが、データがぐちゃぐちゃになりそうで怖いです。
主キーフィールド:name: ID - integer -があるので、IDなのですが・・・。なので、これも考えないといけないですね。IdentityをN一時的に設定するとか。
REPLACE関数を実現する方法をアドバイスしてください。
約3000のステートメントを新しいソリューションで更新する必要があります。
どのように解決するのですか?
IF あなたのデータは4000字を超えません。 AND SQL Server 2000 または互換性レベル 8 または SQL Server 2000 であること。
UPDATE [CMS_DB_test].[dbo].[cms_HtmlText]
SET Content = CAST(REPLACE(CAST(Content as NVarchar(4000)),'ABC','DEF') AS NText)
WHERE Content LIKE '%ABC%'
SQL Server 2005+の場合。
UPDATE [CMS_DB_test].[dbo].[cms_HtmlText]
SET Content = CAST(REPLACE(CAST(Content as NVarchar(MAX)),'ABC','DEF') AS NText)
WHERE Content LIKE '%ABC%'
関連
-
[解決済み] SQLの結合形式 - 入れ子になった内側join
-
[解決済み] 1つのPostgreSQLクエリで複数のWITHステートメントを使用するには?
-
[解決済み] SQL Server で複数行のテキストを 1 つのテキスト文字列に連結する方法
-
[解決済み] SQL Server の DateTime データ型から日付だけを返す方法
-
[解決済み] SQL ServerでJOINを使用してUPDATE文を実行するにはどうすればよいですか?
-
[解決済み] SQL Serverでストアドプロシージャ内のテキストを検索する
-
[解決済み] SQL Server の CASE ステートメントで OR がサポートされていない。
-
[解決済み] SQLite - UPSERT *not* INSERT or REPLACE
-
[解決済み] 項目xにアクセスできるように文字列を分割するにはどうすればよいですか?
-
[解決済み] SET NOCOUNT ON 使用法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[エラー処理] [MySQL] [Err] 1241 - オペランドは 1 つのカラムを含む必要があります。
-
[解決済み] SQLのカラム名があいまいな場合のクエリエラー
-
[解決済み] SQL Server : 列を行に変換する
-
[解決済み] UNIONとUNION ALLの違いは何ですか?
-
[解決済み] SQL Serverでシングルクォートをエスケープするにはどうすればよいですか?
-
[解決済み] 最初の行への結合方法
-
[解決済み] SQL JOIN - WHERE句とON句の比較
-
[解決済み] 各グループの上位1行を取得
-
[解決済み] ある列の最大値を持つ行を取得する
-
[解決済み] 文字列の一部をUPDATEおよびREPLACEする。