在SQLite中使用Case更新命令

前端之家收集整理的这篇文章主要介绍了在SQLite中使用Case更新命令前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想更新表A,如果需要表列的属性,那么只有它会改变,否则它不会改变..

Update table A set B="abcd",C= (case when C="abc" then C="abcd" else C end) where column =1;

意味着C只应在列= 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;

猜你在找的Sqlite相关文章