列 table1.id = table2.id を持つ table1 からすべての行を削除するクエリを作成しています
table1.id 列は、次のような xml 形式の nvarchar(max) です。
<customer><name>Paulo</name><gender>Male</gender><id>12345</id></customer>
編集: id 列は巨大な XML の一部にすぎないため、終了タグが開始タグと一致しない場合があります。
name.nodes を使用してみましたが、xml 列にのみ適用され、列のデータ型を変更することは選択できません。これまでのところ、これは使用している私のコードですPATINDEX
DELETE t1
FROM table1 t1
WHERE PATINDEX('%12345%',id) != 0
しかし、私が必要とするのは、次のような table2.id からすべての値を検索することです:
12345
67890
10000
20000
30000
sp_executesql および/または while ループのような任意のアプローチが適切でしょうか、または patindex を使用するよりも優れたアプローチはありますか? ありがとう!