V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
zxcjqyy
V2EX  ›  程序员

mysql case 问题

  •  
  •   zxcjqyy ·
    b897846872 · 2019-06-10 10:24:47 +08:00 · 1318 次点击
    这是一个创建于 2018 天前的主题,其中的信息可能已经有所发展或是发生改变。

    case 字段名 when 和 case when 有什么区别

    2 条回复    2019-06-10 14:13:08 +08:00
    Semoz
        1
    Semoz  
       2019-06-10 11:47:06 +08:00
    CASE type WHEN 1 THEN 'a' WHEN 2 THEN 'b' ELSE 'c' END

    CASE WHEN type > 5 THEN 'd' WHEN type < 0 THEN 'e' ELSE 'f' END

    你说啥区别?
    zxcjqyy
        2
    zxcjqyy  
    OP
       2019-06-10 14:13:08 +08:00
    SELECT (CASE
    WHEN MOD(id,2) = 1 AND id = (SELECT COUNT(*) FROM seat) THEN id
    WHEN MOD(id,2) = 1 THEN id+1
    ElSE id-1
    END) AS id, student
    FROM seat
    ORDER BY id;


    select (case id when mod(id,2)=1 and id = (select count(*) from seat) then id
    when mod(id,2)=1 then id+1
    else id-1
    end)id, student
    from seat
    order by id

    那这 2 个 sql 结果为什么会不一样
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1137 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 23:04 · PVG 07:04 · LAX 15:04 · JFK 18:04
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.