如何比较mysql中case语句中的日期
我想比较日期数据,然后分配一个新名称,这是我的查询如何比较mysql中case语句中的日期,mysql,date,case,Mysql,Date,Case,我想比较日期数据,然后分配一个新名称,这是我的查询 SELECT EMPLOYEE_ID,FIRST_NAME,HIRE_DATE CASE WHEN HIRE_DATE < DATE('1987-09-01')THEN 'JUNIOR' WHEN HIRE_DATE BETWEEN DATE('1987-05-01') AND DATE('1987-08-31') THEN 'MID LEVEL SENIOR' WHEN HIRE_DATE > DATE('1987-05-01')
SELECT EMPLOYEE_ID,FIRST_NAME,HIRE_DATE
CASE
WHEN HIRE_DATE < DATE('1987-09-01')THEN 'JUNIOR'
WHEN HIRE_DATE BETWEEN DATE('1987-05-01') AND DATE('1987-08-31') THEN 'MID LEVEL SENIOR'
WHEN HIRE_DATE > DATE('1987-05-01') THEN 'SENIOR'
END AS 'experience_level'
FROM employees;
发生了一些错误。
我有什么问题
SQL query: Documentation
SELECT EMPLOYEE_ID,FIRST_NAME,HIRE_DATE
CASE
WHEN HIRE_DATE < DATE('1987-09-01')THEN 'JUNIOR'
WHEN HIRE_DATE BETWEEN DATE('1987-05-01') AND DATE('1987-08-31') THEN 'MID LEVEL SENIOR'
WHEN HIRE_DATE > DATE('1987-05-01') THEN 'SENIOR'
END AS 'experience_level'
FROM employees LIMIT 0, 25
MySQL said: Documentation
1064-您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以了解使用near'CASE的正确语法
当雇佣日期<日期'1987-09-01'时,则为'JUNIOR'
2号线D'和D'之间的日期
在雇佣日期之后,你失踪了。i、 e.您的查询应该是:
SELECT EMPLOYEE_ID,FIRST_NAME,HIRE_DATE,
CASE
WHEN HIRE_DATE < DATE('1987-09-01')THEN 'JUNIOR'
WHEN HIRE_DATE BETWEEN DATE('1987-05-01') AND DATE('1987-08-31') THEN 'MID LEVEL SENIOR'
WHEN HIRE_DATE > DATE('1987-05-01') THEN 'SENIOR'
END AS 'experience_level'
FROM employees;
但随后它会显示另一个错误,即经验级别附近的意外标记刷新您的UI并重试。希望问题与令牌无关。如果hire_date是一个日期数据类型,那么日期'1987-08-31'中的日期函数是不必要的-mysql将进行隐式转换。欢迎使用。请参阅: