顧客データベースの大量のデータを更新しようとしていますが、問題が発生しました。更新する必要がある列 (ntext) には、通常のテキスト/コメントと GUID が混在しています。
GUID を含まないセルのみを更新する必要があります。
一部のテキストが SQL で一意の識別子/GUID であるかどうかを判断する方法を検索すると、som regex のような複数のソリューションが得られましたが、何らかの理由で、select ステートメントから GUID のすべてのエントリが削除されませんでした。(ここからいくつかの解決策を試しました:文字列がuniqueidentifierであるかどうかを確認する方法は?)
ntext 列のすべての種類の guid のようなエントリを削除する方法を教えてもらえますか?
どんな助けでも大歓迎です。
編集:
正しく削除された GUID の例:
4cfb5539-1656-4447-87f7-ea7c4ea94e96
例 f guid がまだリストにある:
f5f284a0-c1c5-4c71-95b6-1eaa3ed38222
それらは同じ長さです。隠し文字やスペースは表示されません (違いなしでトリムしようとしました)。
編集 2: 私が使用した SQL ステートメント: SELECT * from TABLE where VALUE like REPLACE(REPLACE('00000000-0000-0000-0000-000000000000', '0', '[0-9a-fA-F]'),' ','')
編集 3: 最初のステップとして空白を削除する別のステートメント
SELECT * from TABLE where REPLACE(Convert(nvarchar(max),VALUE), ' ', '') not like REPLACE('00000000-0000-0000-0000-000000000000', '0', '[0-9a-fA -F]')