首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >减值函数MySQL

减值函数MySQL
EN

Stack Overflow用户
提问于 2015-06-05 10:57:18
回答 1查看 39关注 0票数 0

我正在学习基本的MYSQL,我只想在这个查询中获得较少的值。

代码语言:javascript
复制
Select DATE_FORMAT(CURDATE(),'%Y') - DATE_FORMAT(HIRE_DATE,'%Y')      from employees;

有什么功能可以做到吗?

编辑:

我自己找到了解决办法。如果有人想看到是这样的:

代码语言:javascript
复制
select MIN(timestampdiff(year,HIRE_DATE,CURDATE())) as LessYearsWorking FROM employees;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-05 10:59:44

至少你有一个least函数

代码语言:javascript
复制
mysql> select least(year(curdate()),year('2014-01-01')) as l;
+------+
| l    |
+------+
| 2014 |
+------+
1 row in set (0.04 sec)

要获得两个日期之间的年差,可以使用timestampdiff

代码语言:javascript
复制
mysql> select timestampdiff(year,'2014-01-01',curdate()) as d ;
+------+
| d    |
+------+
|    1 |
+------+
1 row in set (0.00 sec)

将两者结合起来,并获得相同查询中的差异和最小值,可以执行以下操作

代码语言:javascript
复制
select 
timestampdiff(year,'2014-01-01',curdate()) as d,
least(year(curdate()),year('2014-01-01')) as l ;

所以你的查询变成

代码语言:javascript
复制
select 
timestampdiff(year,HIRE_DATE,curdate()) as diff,
least(year(curdate()),year(HIRE_DATE)) as least_date
from employees
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30664811

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档