sqlserver 日期时间计算,时间比较,日期转换

1,最基层的——系统时间 getdate()

     select getdate();

2,时间转字符串

     Select CONVERT(varchar(100), GETDATE(), 8); 10:57:46 

     Select CONVERT(varchar(100), GETDATE(), 20): 2015-05-16 10:57:47 

     Select CONVERT(varchar(100), GETDATE(), 21): 2015-07-29 10:57:47.157 

     Select CONVERT(varchar(100), GETDATE(), 120): 2015-07-29 10:57:49

     Select CONVERT(varchar(100), GETDATE(), 23): 2015-07-29

     Select CONVERT(varchar(100), GETDATE(), 24): 10:57:47  

     Select CONVERT(varchar(100), GETDATE(), 112): 20150729

     CONVERT的第三个参数还有很多数字,可以自己尝试不同的显示形式,常用的就这么多,其中最常用就是112啦 

3,字符串转时间

      Select CONVERT(datetime, ‘20150729’, 0):

      Select CONVERT(datetime, ‘2015/07/29’, 0):

      Select CONVERT(datetime, ‘2015-07-29’, 0):

      Select CONVERT(datetime, ‘2015.07.29’, 0):

      Select CONVERT(datetime, ‘2015.07.29 10:57:47’, 0):

      Select CONVERT(datetime, ‘2015.07.29 10:57:47.159’, 0):

4,时间计算

      select dateadd(day,2,getdate())  当前加两天

      select dateadd(day,-2,getdate()) 当前减去两天

      select dateadd(month,2,getdate())  当前加俩月

      select dateadd(month,-2,getdate()) 当前减去俩月

      select dateadd(year,2,getdate())  当前加两年

      select dateadd(year,-2,getdate()) 当前减去两年

      date的第一个参数 y:年,m:月,d:天 ,h:时,n:分钟,s:秒      

5,两个日期比较

      select DATEDIFF(datepart,startdate,enddate);

      datepart:

          年 :yy, yyyy

          季度 :qq, q

          月: mm, m

          日: dd, d

          周:wk, ww

          星期:dw, w

          小时:hh

          分钟:mi, n

          秒:ss, s

          毫秒: ms

示例:select datediff(d,convert(datetime,'20150727',0),getdate()) :3

           select datediff(d,convert(datetime,'20150801',0),getdate()) :-2

猜你喜欢

转载自szh-java.iteye.com/blog/2231464
今日推荐