как сравнить дату в выписке по делу в mysql - PullRequest
0 голосов
/ 19 февраля 2020

Я хочу сравнить данные даты и затем присвоить новое имя, вот мой запрос

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 версии сервера, для правильного синтаксиса, который можно использовать рядом с 'CASE WHEN HIRE_DATE

1 Ответ

1 голос
/ 19 февраля 2020

Вы пропустили "," после "HIRE_DATE". т.е. ваш запрос должен выглядеть так:

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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...