我正在做一个查询,该查询将从 table1 中删除其列 table1.id = table2.id 的所有行
table1.id 列在 nvarchar(max) 中,xml 格式如下:
<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 更好的方法吗?谢谢!