首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL 5.7.14 -日期间隔< NOW()引发错误的CASE语句

问MySQL 5.7.14 -日期间隔< NOW()引发错误的CASE语句
EN

Stack Overflow用户
提问于 2022-03-06 05:25:53
回答 1查看 76关注 0票数 0

我有一个MySQL选择,它在CASE语句中抛出一个错误。

该节可以是五个值之一。我想要测试今天的日期(现在)是否小于个人的出生日期加上x年。列道布是类型日期。

代码语言:javascript
复制
SELECT ca_id, cad_id, section, dob, 
    CASE 
        WHEN section LIKE '%Joey%' AND ((dob, INTERVAL 6 YEAR) < NOW()) THEN '1' 
        WHEN section LIKE '%Joey%' AND ((dob, INTERVAL 7 YEAR) < NOW()) THEN '2' 
        WHEN section LIKE '%Joey%' THEN '3' 
    ELSE '0' 
    END AS milestoneBracket

错误:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:中的

SQLException :您的SQL语法出现了错误;请检查与MySQL服务器版本相对应的手册,以获得正确的语法,以便在第1行使用getAttendance ')

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-06 08:04:46

您缺少的是SQL查询中的Date Add函数调用。

代码语言:javascript
复制
SELECT ca_id, cad_id, section, dob, 
    CASE
        WHEN section LIKE '%Joey%' AND (DATE_ADD(dob, INTERVAL 6 YEAR) < NOW()) THEN '1'
        WHEN section LIKE '%Joey%' AND (DATE_ADD(dob, INTERVAL 7 YEAR) < NOW()) THEN '2' 
        WHEN section LIKE '%Joey%' THEN '3' 
    ELSE '0' 
    END AS milestoneBracket
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71367890

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档