MYSQL-Display нанял количество лет - PullRequest
0 голосов
/ 25 января 2019

Вопрос:

Отображение количества лет, на которое сотрудник был нанят, в виде NUM_OF_YEARS и сортировка списка по фамилии.

Это код, используемый на другом компьютере, и он хорошо работает.

SELECT  `lastname` AS "LASTNAME", 
DATE_FORMAT(`hire_date`,'%d-%M-%Y') AS "HIRED DATE",
TRUNCATE(DATEDIFF(CURDATE(),CONVERT(`hire_date`,DATETIME))  / 365 ,0) AS "NO_OF_YEARS",
DATEDIFF(YEAR(), `hire_date`, CURDATE()) AS "DATE"
FROM `activity6`.`employee`;

Теперь, когда я попытался использовать Xampp (3.2.2) и запустить его, используя тот же код, что и выше, я получил ошибку:

У вас ошибка в синтаксисе SQL; проверьте руководство, которое соответствует вашей версии сервера MariaDB для правильного использования синтаксиса возле '), hire_date, CURDATE ()) AS "DATE" FROM activity6.employee 'в строке 5

Вот таблица, которую я создал и должен использоваться для кода выше .---- enter image description here

Таким образом, в то же время мне нужно создать еще один столбец, чтобы показать количество лет этих сотрудников до этой даты (2019). Я действительно не уверен, какой правильный запрос использовать.

1 Ответ

0 голосов
/ 25 января 2019

В функции DATEDIFF вы использовали 3 параметра, и эта функция принимает 2, я удалил параметр YEAR ():

SELECT  `lastname` AS "LASTNAME", 
        DATE_FORMAT(`hire_date`,'%d-%M-%Y') AS "HIRED DATE",
        TRUNCATE(DATEDIFF(CURDATE(),CONVERT(`hire_date`,DATETIME))  / 365 ,0) AS "NO_OF_YEARS",
        DATEDIFF( `hire_date`, CURDATE()) AS "DATE"
FROM `activity6`.`employee`;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...