我正在尝试更新客户数据库中的大量数据,但遇到了问题。我需要更新的列 (ntext) 包含常规文本/评论和 guid 的混合。
我只需要更新不包含 GUID 的单元格。
搜索确定某些文本是否是 SQL 中的唯一标识符/guid 的方法提供了多种解决方案,例如 som 正则表达式,但由于某种原因,并未从 select 语句中删除所有 guid 条目。(我从这里尝试了一些解决方案:How to check if a string is a 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]')