从ntext列中删除guid

时间:2013-06-25 09:38:03

标签: sql-server guid uniqueidentifier

我正在尝试更新客户数据库中的大量数据,但我遇到了问题。 我需要更新的列(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]')

1 个答案:

答案 0 :(得分:0)

@Configuration

此过滤条件将在“列”列中找到所有具有GUID的行。

您还可以使用WHERE column like '%-%-%-%-%'

做更复杂的事情