我想更新表A
,如果需要表列的属性,那么只有它会改变,否则它不会改变..
Update table A set B="abcd" ,C= (case when C="abc" then C="abcd" else C end) where column =1;
表示 C
应该只在 column=1 且 C 值为 abc
时更改,否则 C
不应更新..它应该被删除,只有 B
发生变化。但是如果 C
值匹配,即 abc 给我输出 0 .. 不更改为 abcd
最佳答案
在 THEN
部分,C="abcd"
将 C
与值进行比较,并返回 1 或 0。
整个 CASE
表达式应该只返回一个值,然后将其写入 C
列,所以你只需要 ' abcd'
在这个地方:
UPDATE tableA
SET B = 'abcd',
C = CASE
WHEN C = 'abc' THEN 'abcd'
ELSE C
END
WHERE column = 1;
关于sql - 在 SQLite 中使用大小写更新命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17079697/