You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL查询中CASE WHEN语句的正确写法咨询

修正包含CASE WHEN的SQL语句以实现奇偶性判断需求

你的SQL语句存在两个语法逻辑错误:

  • 重复使用WHERE关键字:原语句里连续写了两次WHERE,这是语法错误,多条件筛选只需要一个WHERE,后续条件用AND连接即可。
  • CASE WHEN的位置错误:你要生成Side这个新字段,必须把CASE WHEN逻辑放在SELECT列表中,而不是WHERE子句里——WHERE是用来过滤行的,不是用来输出新字段的。

修正后的SQL语句如下:

SELECT 
  Abonent,
  CASE 
    WHEN `House` % 2 = 0 THEN 'Правий'
    ELSE 'Лiвий'
  END AS Side
FROM phone
WHERE `Street` LIKE "%примiська%"

如果你的数据库不支持%作为取模运算符(比如SQL Server),可以改用MOD()函数:

SELECT 
  Abonent,
  CASE 
    WHEN MOD(`House`, 2) = 0 THEN 'Правий'
    ELSE 'Лiвий'
  END AS Side
FROM phone
WHERE `Street` LIKE "%примiська%"

修改后,这条语句会从phone表中筛选出街道名称包含"примiська"的记录,同时根据House字段的奇偶性生成Side字段(偶数对应'Правий',奇数对应'Лiвий'),最终返回Abonent和Side两个字段的数据。

内容的提问来源于stack exchange,提问作者Lykas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 04:55:24