从ntext列中删除guid



我试图更新客户数据库中的大量数据,但遇到了一个问题。我需要更新的列(ntext)包含常规文本/注释和guid的混合。

我只需要更新不包含GUID的单元格。

在SQL中搜索确定某些文本是否为uniqueidentifier/guid的方法提供了多种解决方案,如som-regex,但由于某种原因,它没有从select语句中删除guid的所有条目。(我在这里尝试了一些解决方案:如何检查字符串是否是唯一标识符?)

有人能告诉我如何删除ntext列中的各种类似指南的条目吗?

任何帮助都将不胜感激。

编辑:

正确删除guid的示例:

4cfb5539-1656-4447-87f7-ea7c4ea94e96

guid仍在列表中的示例:

f5f284a0-c1c5-4c71-95b6-1eaa3ed38222

它们的长度相同,我没有看到任何隐藏的字符或空格(试图修剪没有差异)等

编辑2:我使用的SQL语句:从表中选择*其中VALUE类似REPLACE(替换("00000000-0000-0000-000000000000","0","[0-9a-fA-F]'),",")

编辑3:作为第一步删除任何空白的另一条语句

从表中选择*其中REPLACE(转换(nvarchar(max),VALUE),'','')与REPLACE("00000000-0000-0000-0000-00000000","0","[0-9a-fA-F]')

WHERE column like '%-%-%-%-%'

此筛选条件将查找"column"列中具有guid的所有行。

您也可以使用PATINDEX 来做一些更复杂的事情

相关内容

  • 没有找到相关文章

最新更新