好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

关于SqlServer中datediff用法

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

[var]

[var]

是后面日期减去前面的日期(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

[var]

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 1′,’20211112 0′)test_hour
,datediff(hh,’20211112 1′,’20211112 0′)test_hh

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

select datediff(minute,’20211112 1′,’20211112 0′)test_minute
,datediff(mi,’20211112 1′,’20211112 0′)test_mi
,datediff(n,’20211112 1′,’20211112 0′)test_n

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

select datediff(second,’20211112 1′,’20211112 0′)test_second
,datediff(ss,’20211112 1′,’20211112 0′)test_ss
,datediff(s,’20211112 1′,’20211112 0′)test_s

查看更多关于关于SqlServer中datediff用法的详细内容...

  阅读:31次