我正在尝试更新客户数据库中的大量数据,但我遇到了问题。 我需要更新的列(ntext)包含常规文本/注释和guid的混合。
我只需要更新不包含GUID的单元格。
搜索确定某些文本是否是SQL中的uniqueidentifier / guid的方法提供了多个解决方案,如som regex,但由于某些原因,没有从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 其中VALUE喜欢 REPLACE(REPLACE('00000000-0000-0000-0000-000000000000','0','[0-9a-fA-F]'),'','')
编辑3: 另一个声明删除任何空格作为第一步
来自TABLE的SELECT * 其中REPLACE(转换(nvarchar(max),VALUE),'','')不喜欢 REPLACE('00000000-0000-0000-0000-000000000000','0','[0-9a-fA-F]')
答案 0 :(得分:0)
@Configuration
此过滤条件将在“列”列中找到所有具有GUID的行。
您还可以使用WHERE column like '%-%-%-%-%'