mysql - MYSQL-显示聘用年数
问题描述
问题是:
将员工受雇的年数显示为 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 服务器版本相对应的手册,以在第 5 行的 ')、hire_date、CURDATE()) AS "DATE" FROM activity6.employee' 附近使用正确的语法
因此,同时我需要创建另一个列来显示这些员工截至该日期(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`;
推荐阅读
- node.js - 来自多个字段的 $lookup 平均值
- c# - IBM Text-To-Speech 在 Unity 中不起作用
- html - 带有嵌套容器的 CSS 响应式容器
- r - 从面板数据的一般线性模型中提取线性预测变量 ( pglm )
- powershell - Powershell循环每个文件名只运行一次文件,即使文件名存在多个扩展名
- javascript - 如何以 JSON 格式表示 sql 连接?
- javascript - 在马赛克中的较小图像下方显示全宽 div
- python - 在 PyQT 中绑定事件处理程序
- javascript - 连续播放几个m3u8
- .net - 无法使用基于 EF 的 .Net Core 3.1(API 项目)向 Posgres 添加一行