SQL中日期搜索 datediff()、timestampdiff()和data_format()函数使用[通俗易懂]

SQL中日期搜索 datediff()、timestampdiff()和data_format()函数使用[通俗易懂]一、三种日期搜索 对mysql中日期范围搜索的大致有三种方式: 1、between and语句; 2、datediff函数; 3、timestampdiff函数; 下面就具体说明下这三种方式: 第一…

一、三种日期搜索

对mysql中日期范围搜索的大致有三种方式:

1、between and语句;

2、datediff函数;

3、timestampdiff函数;

代码100分

下面就具体说明下这三种方式:

第一种: between and语句

代码100分select * from dat_document where commit_date between "2018-07-01" and "2018-07-04" 

结果是1号到3号的数据,这是因为时间范围显示的实际上只是‘2018-07-01 00:00:00’到’2018-07-04 00:00:00’之间的数据,而’2018-07-04’的数据就无法显示出来,between and对边界还需要进行额外的处理。

第二种: datediff()函数
datediff函数返回两个日期之间的天数

语法:DATEDIFF(date1,date2)

SELECT DATEDIFF("2018-07-01","2018-07-04");
运行结果:-3

所以,datediff函数对时间差值的计算方式为date1-date2的差值。

第三种: timestampdiff()函数
timestampdiff函数日期或日期时间表达式之间的整数差。

代码100分语法:TIMESTAMPDIFF(interval,datetime1,datetime2),比较的单位interval可以为以下数值
FRAC_SECOND。表示间隔是毫秒
SECOND。秒
MINUTE。分钟
HOUR。小时
DAY。天
WEEK。星期
MONTH。月
QUARTER。季度
YEAR。年

示例:

select TIMESTAMPDIFF(DAY,"2018-07-01 09:00:00","2018-07-04 12:00:00");
运行结果:3

所以,timestampdiff函数对日期差值的计算方式为datetime2-datetime1的差值。

请注意:DATEDIFF,TIMESTAMPDIFF对日期差值的计算方式刚好是相反的。

二、DATE_FORMAT()

DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据。
语法:

DATE_FORMAT(date,format)

date参数是合法的日期。format规定日期/时间的输出格式。
示例:
下面的脚本使用 DATE_FORMAT() 函数来显示不同的格式。我们使用 NOW() 来获得当前的日期/时间:

DATE_FORMAT(NOW(),"%b %d %Y %h:%i %p")
DATE_FORMAT(NOW(),"%m-%d-%Y")
DATE_FORMAT(NOW(),"%d %b %y")
DATE_FORMAT(NOW(),"%d %b %Y %T:%f")

运行结果

Dec 29 2008 11:45 PM
12-29-2008
29 Dec 08
29 Dec 2008 16:25:46.635

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/11105.html

(0)
上一篇 2022-12-16
下一篇 2022-12-16

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注