【发布时间】:2019-06-19 14:08:20
【问题描述】:
问题是:
将员工受雇的年数显示为 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()) 作为“日期” FROM activity6.employee' 在第 5 行
因此,同时我需要创建另一个列来显示这些员工截至该日期(2019 年)的年数。 我真的不确定要使用什么正确的查询。
【问题讨论】:
-
进行基本调试。首先做 convert(),然后尝试 Datediff,然后添加截断,当你知道什么函数给你错误时,检查手册是否正确 sintaxis
-
This is the code used on the other pc and it run well.你在另一台电脑上使用相同的 rdbms 吗? -
请定义年数的计算。你的意思不是很明显。
标签: mysql sql database datetime