登录
首页 >  数据库 >  MySQL

关于SqlServer中datediff用法

来源:脚本之家

时间:2022-12-31 21:52:56 491浏览 收藏

本篇文章主要是结合我之前面试的各种经历和实战开发中遇到的问题解决经验整理的,希望这篇《关于SqlServer中datediff用法》对你有很大帮助!欢迎收藏,分享给更多的需要的朋友学习~

datediff是SQL SERVER里面的用法,ORACLE没有

一、作用:返回两个日期之间的时间间隔

二、语法:datediff(datepart,startdate,enddate)

是后面日期减去前面的日期(enddate-startdate)

1、datepart,规定应在日期的哪一部分计算差额

日期 缩写

year yy/yyyy

quarter qq/q

Month mm/m

day dd/d

Hour hh/h

minute mi,n

second ss,s

三、测试

SQL SERVER不用像ORACLE一样写 select ... from dual,只需要写select ....就可以了

1、参数是 yyyy的话,统计相差的年份,截取前4位进行统计

select datediff(yyyy,'20210928','20200121')test
--select datediff(year,'20210928','20200121')test
--select datediff(yy,'20210928','20200121')test

2、参数是 qq时,统计相差的季度

select datediff(qq,'20210928','20200121')test
--select datediff(q,'20210928','20200121')test
--select datediff(quarter,'20210928','20200121')test

3、参数是 mm的时候,统计相差的月份,截取前6位进行统计

select datediff(mm,'20210928','20200121')test
--select datediff(m,'20210928','20200121')test
--select datediff(month,'20210928','20200121')test

4、参数是 dd的时候,统计相差的天数

select datediff(dd,'20210928','20200121')test
--select datediff(day,'20210928','20200121')test
--select datediff(d,'20210928','20200121')test

5、参数是 hh的时候,统计相差的小时

select datediff(hour,'20211112 10:00:00','20211112 00:00:00')test_hour
       ,datediff(hh,'20211112 10:00:00','20211112 00:00:00')test_hh

6、参数是 mi的时候,统计相差的分钟数

select datediff(minute,'20211112 10:00:00','20211112 00:00:00')test_minute
       ,datediff(mi,'20211112 10:00:00','20211112 00:00:00')test_mi
       ,datediff(n,'20211112 10:00:00','20211112 00:00:00')test_n

7、参数是 ss的时候,统计相差的秒数

select datediff(second,'20211112 10:00:00','20211112 00:00:00')test_second
       ,datediff(ss,'20211112 10:00:00','20211112 00:00:00')test_ss
       ,datediff(s,'20211112 10:00:00','20211112 00:00:00')test_s

文中关于mysql的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《关于SqlServer中datediff用法》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:脚本之家 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表