sql - 在 SQLite 中使用大小写更新命令

标签 sql sqlite sql-update

我想更新表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/

相关文章:

sql - 如何计算 PostgreSQL 中条件出现的次数?

sql - 如何将字符串值拆分为一列并返回结果表

mysql - MySQL什么时候更新索引

android - 在Room Persistence Library中使任何列自动生成(不是主键)

SQL获取每月和所有月份最高值的行

android - 计算 sqlite,android 中特定列值的出现次数?

php - 独立的 PHP 服务器

mysql - 在 SQL 中更新记录但不覆盖....在开头添加文本

mySQL Update 字段依赖于 Select

sql - 从插入结果更新表