c# - 从现有值 使用 SQL Server 中的逗号分隔值更新列

标签 c# sql asp.net sql-server

从现有值使用 SQL Server 中的逗号分隔值更新列

tbl 
id name rev_code
1  aaa  rev1,rev2,rev3
2  bbb  rev2,rev3
3  ccc  rev1,rev2
4  ddd  rev3,rev2

我想要更新,其中 rev_code='rev3' 需要添加 with 结尾,例如 rev1,rev2,rev3,rev5

期望输出

id name rev_code
1  aaa  rev1,rev2,rev3,rev5
2  bbb  rev2,rev3,rev5
3  ccc  rev1,rev2
4  ddd  rev3,rev2,rev5

最佳答案

您的最佳选择是规范化您的数据库:
删除该 rev_code 列并将其转换为一个新表,并通过外键约束链接到当前表。

如果这是不可能的,你可以这样做:

UPDATE tbl
SET rev_code = rev_code + ',rev5'
WHERE ','+ rev_code + ',' LIKE '%,rev3,%'
AND ','+ rev_code + ',' NOT LIKE '%,rev5,%'

关于c# - 从现有值 使用 SQL Server 中的逗号分隔值更新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36761234/

相关文章:

c# - 如何在 C# 中搜索字符串数组中的子字符串

c# 一对多字符串解析帮助使用正则表达式 lambda

java - 如何在 db.execSql 中加快 sqlite android 中的查询速度

c# - 如何在 Monotouch 下的 iPhone 上设置按钮背景图像?

sql - 查询优化不先执行内部查询

mysql - SQL:在不覆盖行的情况下加入后的 GROUP BY?

javascript - 使用字符串地址而不是 latlng 立即加载 gmap

c# - 用于 session 超时的javascript倒数计时器

c# - 在 Asp.net 中创建 pdf 文件

C# 引用变量,使一个为 null 会使另一个为 null 吗?