gpt4 book ai didi

一次更新中的 SQL 多个 SET?

转载 作者:行者123 更新时间:2023-12-04 21:54:27 24 4
gpt4 key购买 nike

我有一个像这样的 SQL 字段:

FIELD_A  
cat
dog
bird
mole
dog

我要 UPDATE
  • 所有的狗到哈巴狗
  • 所有鸟到猫头鹰
  • 所有猫到安哥拉。

  • 显然,SQL UPDATE语句只允许一个 SET一次条件。

    如何编写查询以一次性完成上述操作?

    最佳答案

    UPDATE AnonymousTable
    SET Field_A = (CASE Field_A
    WHEN 'dog' THEN 'pug'
    WHEN 'bird' THEN 'owl'
    WHEN 'cat' THEN 'angora'
    ELSE Field_A END)
    WHERE Field_A IN ('dog', 'bird', 'cat');

    使用 WHERE 子句时,CASE 表达式中的 ELSE 子句是可选的或多余的 - 但包含 ELSE 可以为您提供可靠性。更严重的错误之一是没有涵盖“以上都不是”的替代方案,并发现未提及的所有内容都设置为 NULL。

    关于一次更新中的 SQL 多个 SET?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5178169/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com