MySQL datediff()函数
转载自 MySQL datediff()函数
MySQL DATEDIFF函数介绍
MySQL DATEDIFF
函数计算两个DATE,DATETIME或TIMESTAMP值之间的天数。
MySQL DATEDIFF
函数的语法如下:
DATEDIFF(date_expression_1,date_expression_2);
DATEDIFF
函数接受两个任何有效日期或日期时间值的参数。如果您传递DATETIME
或TIMESTAMP
值,则DATEDIFF
函数仅将日期部分用于计算,并忽略时间部分。
DATEDIFF
函数在许多情况下很有用,例如,您可以计算产品需要发送给客户的间隔时间。
MySQL DATEDIFF示例
我们来看一下使用DATEDIFF
函数的一些例子。
示例-1
mysql> SELECT DATEDIFF('2017-08-17','2017-08-17');
+-------------------------------------+
| DATEDIFF('2017-08-17','2017-08-17') |
+-------------------------------------+
| 0 |
+-------------------------------------+
1 row in set
示例-2
mysql> SELECT DATEDIFF('2017-08-17','2017-08-08');
+-------------------------------------+
| DATEDIFF('2017-08-17','2017-08-08') |
+-------------------------------------+
| 9 |
+-------------------------------------+
1 row in set
示例-3
mysql> SELECT DATEDIFF('2017-08-08','2017-08-17');
+-------------------------------------+
| DATEDIFF('2017-08-08','2017-08-17') |
+-------------------------------------+
| -9 |
+-------------------------------------+
1 row in set
请参阅示例数据库(yiibaidb)中的以下orders
表,其结构如下 -
mysql> desc orders;
+----------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------------+-------------+------+-----+---------+-------+
| orderNumber | int(11) | NO | PRI | NULL | |
| orderDate | date | NO | | NULL | |
| requiredDate | date | NO | | NULL | |
| shippedDate | date | YES | | NULL | |
| status | varchar(15) | NO | | NULL | |
| comments | text | YES | | NULL | |
| customerNumber | int(11) | NO | MUL | NULL | |
+----------------+-------------+------+-----+---------+-------+
7 rows in set
假设使用DATEDIFF
函数计算所需日期和订单发货日期之间的天数,如下所示:
SELECT orderNumber, DATEDIFF(requiredDate, shippedDate) daysLeft
FROMorders
ORDER BY daysLeft DESC;
执行上面查询语句,得到以下结果 -
+-------------+----------+
| orderNumber | daysLeft |
+-------------+----------+
| 10409 | 11 |
| 10410 | 10 |
| 10105 | 9 |
| 10135 | 9 |
| 10190 | 9 |
**** 此处省略了一大小波数据 ********
| 10423 | NULL |
| 10424 | NULL |
| 10425 | NULL |
+-------------+----------+
327 rows in set
以下语句将获取状态正在处理(In Process
)的所有订单,并计算订单日期和所需日期之间的天数:
SELECT orderNumber,DATEDIFF(requiredDate, orderDate) remaining_days
FROMorders
WHEREstatus = 'In Process'
ORDER BY remaining_days;
执行上面查询语句,得到以下结果 -
+-------------+----------------+
| orderNumber | remaining_days |
+-------------+----------------+
| 10426 | 5 |
| 10423 | 6 |
| 10425 | 7 |
| 10421 | 8 |
| 10424 | 8 |
| 10420 | 9 |
| 10422 | 12 |
+-------------+----------------+
7 rows in set
要计算周或月作为间隔时间,可以将DATEDIFF
函数的返回值除以7
或30
,如下查询语句:
SELECT orderNumber,ROUND(DATEDIFF(requiredDate, orderDate) / 7, 2) as weeks,ROUND(DATEDIFF(requiredDate, orderDate) / 30,2) as months
FROMorders
WHEREstatus = 'In Process';
执行上面查询语句,得到以下结果 -
+-------------+-------+--------+
| orderNumber | weeks | months |
+-------------+-------+--------+
| 10420 | 1.29 | 0.3 |
| 10421 | 1.14 | 0.27 |
| 10422 | 1.71 | 0.4 |
| 10423 | 0.86 | 0.2 |
| 10424 | 1.14 | 0.27 |
| 10425 | 1 | 0.23 |
| 10426 | 0.71 | 0.17 |
+-------------+-------+--------+
7 rows in set
请注意,ROUND
函数用于舍入结果。
在本教程中,您已经学习了如何使用MySQL DATEDIFF
函数来计算两个日期值之间的天数。
MySQL datediff()函数相关推荐
- mysql sql语句 datediff_MySQL数据库之MySQL DATEDIFF 函数
本文主要向大家介绍了MySQL数据库之MySQL DATEDIFF 函数 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. Summary: in this tutorial, y ...
- mysql datediff函数怎么用_datediff函数的使用方法是如何的?
展开全部 1.datediff函数语法用法: 表达式DateDiff(timeinterval,date1,date2 [, firstdayofweek [, firstweekofyear]]) ...
- mysql datediff函数怎么用_SQL中datediff函数怎么用?(代码详解)
在SQL Server中,可以使用T-SQL DATEDIFF()函数返回两个日期之间的差异.它适用于任何可以解析为time.date.smalldatetime.datetime.datetime2 ...
- postgresql兼容MySQL datediff函数
datediff函数兼容解决方案 datediff函数说明 datediff函数返回俩日期相差的天数,如 select datediff('2021-12-21 10:21:23',now()) 在p ...
- [Mysql] DATEDIFF函数
DATEDIFF函数用于返回两个日期的天数 语法格式 DATEDIFF(date1,date2) 参数说明 date1: 比较日期1 date2: 比较日期2 DATEDIFF函数返回date1 - ...
- mysql datediff函数怎么用_SQL中datediff函数有哪些用途呢?
摘要: 下文讲述SQL中datediff函数的用途,如下所示: datediff函数功能说明: datediff用于返回两个日期之间的差值,返回单位可以为(年.月.日.小时.分钟.秒.毫秒等等) 下文 ...
- datediff函数(mysql datediff函数)
用vb程序计算时间差使用标签.文本框.命令按钮完成<br/> Caption = "相差" & DateDiff("yyyy", Text1 ...
- MySQL Datediff函数
Datediff函数,最大的作用就是计算日期差,能计算两个格式相同的日期之间的差值 语法如下: DATEDIFF(datepart,expr1,expr2) #datepart表示返回的日期差值类型, ...
- mysql datediff多一天_MySQL DATEDIFF函数获取两个日期的时间间隔的方法
描述 返回两个日期之间的时间间隔. 语法 DateDiff(interval, date1, date2 [ ,firstdayofweek[ , firstweekofyear]] ) DateDi ...
最新文章
- 利用TaskCompletionSource将EAP转换成TAP
- 心得---字节流、文件操作、对象序列化
- 【MyBatis使用】mapper.xml 文件内<if test>标签判断参数值不等于null和空 当参数值为 0 时筛选条件失效原因分析(源码探究)
- 过年装X神器,快速获取 wifi 密码!
- mysql数学函数名_MYSQL 常见数学函数说明
- 从安装到部署的Cordova iOS应用开发说明
- Laravel 打造一个完整的项目
- mysql 最左_mysql索引最左匹配原则
- Oracle DBA手记3:数据库性能优化与内部原理解析
- ibm服务器机 安装系统安装系统安装方法,IBM服务器系统安装图解全攻略
- 计算机组成原理学习通题目汇总
- 微型计算机原理第三版第五章答案,微机原理第五章习题答案
- 没啥用的纯前端打造一个实时 markdown 编辑器
- mysql数据库的单引号用法_数据库SQL语句单引号、双引号的用法
- MATLAB 线性动态范围调整
- 高等教育心理学:学生的个性与社会性的发展
- 分布式数据库系统之【结构】
- 安卓Android Studio Button按钮background不生效无效问题
- P1605 迷宫 java
- SCI投稿被退回的常见原因有哪些?
热门文章
- session.setAttribute和request.setAttribute的区别
- 7-27 家谱处理 (30 分)(详解+map做法)map真香啊
- [Nginx]location 指令说明
- [Java基础]接口组成(默认方法,静态方法,私有方法)
- [Java基础]自动装箱和拆箱
- 高等数学上-赵立军-北京大学出版社-题解-练习5.2
- [蓝桥杯]最大连续子序列和
- 数据结构与算法--链表实现以及应用
- 2019-03-10-算法-进化(只出现一次的数字)
- A. 树与路径(树论/多项式/分治FFT)