Sql 从列中以逗号分隔的列表中删除条目

Sql 从列中以逗号分隔的列表中删除条目,sql,Sql,我有一个表,其中有一个带有逗号分隔列表的标记列: ## Tag ### A ABC,AB Abc,A,Ab ##标签### A. ABC,AB Abc,A,Ab 我只想从表中删除“A”标记。检查您的测试数据库上的此查询,它应该可以工作。我假设#test是您的表,[value]是列 update #test set value= replace(','+value+',',',A,',',') update #test set value= case when len(value)=0 th

我有一个表,其中有一个带有逗号分隔列表的标记列:

## Tag ### A ABC,AB Abc,A,Ab ##标签### A. ABC,AB Abc,A,Ab
我只想从表中删除“A”标记。

检查您的测试数据库上的此查询,它应该可以工作。我假设#test是您的表,[value]是列

update #test
set value=  replace(','+value+',',',A,',',')

update #test
set value= case when len(value)=0 then '' else STUFF(value, 1, 1, '')  end 

update #test
set value=  case when len(value)=0 then '' else  STUFF(value, len(value),1, '') end  

根据我的理解,‘Abc,A,Ab’将输出为‘Abc,Ab’……但将发生的情况是,单元格只有‘A’值。。它会变为空白吗???是的……它应该是空白的……这就是为什么你应该规范化你的数据。如果你想从系统中删除这些标记,这将需要字符串操作。由于每个RDBMS都有稍微不同的字符串函数,所以您应该指定使用哪个数据库。但正如@EdCottrell所指出的,以这种方式存储数据是错误的。很高兴看到它对您有效@Dipak Bilade.。如果它有效,那么您可以接受作为答案,或者等待更好的答案。