Sql server 从ntext列中删除guid

Sql server 从ntext列中删除guid,sql-server,guid,uniqueidentifier,Sql Server,Guid,Uniqueidentifier,我试图更新客户数据库中的大量数据,但遇到了一个问题。 我需要更新的列(ntext)包含常规文本/注释和guid的混合 我只需要更新不包含GUID的单元格 搜索确定某些文本是否为SQL中的uniqueidentifier/guid的方法提供了多种解决方案,如som regex,但由于某些原因,没有从select语句中删除所有guid项。(我在这里尝试了一些解决方案:) 有人能告诉我如何删除ntext列中所有类型的类似guid的条目吗 任何帮助都将不胜感激 编辑: 正确删除guid的示例: 4cfb

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

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

搜索确定某些文本是否为SQL中的uniqueidentifier/guid的方法提供了多种解决方案,如som regex,但由于某些原因,没有从select语句中删除所有guid项。(我在这里尝试了一些解决方案:)

有人能告诉我如何删除ntext列中所有类型的类似guid的条目吗

任何帮助都将不胜感激

编辑:

正确删除guid的示例:

4cfb5539-1656-4447-87f7-ea7c4ea94e96

示例f guid仍在列表中:

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

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

编辑2: 我使用的SQL语句: 从表中选择* 价值在哪里 替换(替换('00000000-0000-0000-0000-000000','0','[0-9a-fA-F]'),'

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

从表中选择* 其中REPLACE(Convert(nvarchar(max),VALUE),“”,“”)与 替换('00000000-0000-0000-0000-000000000000','0','[0-9a-fA-F]')

此筛选条件将在“列”列中查找具有guid的所有行


您还可以使用
PATINDEX

执行更复杂的操作。您是否可以展示您尝试过的内容以及未检测到的GUID或错误检测为GUID的文本值的示例?谢谢-以及您使用的SQL?添加的,第一次应该想到这一点,抱歉:)外部的
替换
是从内部的
替换
,而不是从
-除非我误读了。。。缺少的GUID是否有前导空格或尾随空格?缺少的GUID没有任何前导空格或尾随空格。将丢失的guid从sql表复制/粘贴到记事本++不会显示额外的空格。
WHERE column like '%-%-%-%-%'