SQL之常用时间函数练习

来源:互联网 发布:淘宝美工的课程 编辑:程序博客网 时间:2024/05/22 11:00

一、介绍

  1. getdate获取当前系统时间
    select getdate() as 当前时间  --会返回当前的时间,例如:2013-12-05 14:49:16.000
  2. dateadd在一个时间上加一段时间返回一个新的时间
    格式:dateadd(单位,数量,日期时间)
    select dateadd(day,1,getdate())  --在当前时间上加上一天并返回,例如:2013-12-06 14:50:54.053
  3. datediff就是用来计算两个时间的时间差的
    格式:datediff(单位,开始日期时间,结束日期时间)
    select datediff(day,'2013-12-3','2013-12-5')  --计算两个时间差几天,此处会输出2
  4. datepart获取指定日期中的指定部分
    格式:datepart(单位,日期时间)
    select datepart(year,getdate())  --获取当前时间的年数,,例如,如果当前日期是2013-12-5,此处会输出2013
  5. datename获取指定日期的指定的指定日期字符串
    格式:datename(单位,日期时间)
    select datename(weekday,getdate())  --获取当前日期是星期几,例如,如果当前日期是2013-12-5,那么就会输出星期四select datename(week,getdate())     --获取本年第多少周,例如,如果当前的日期是2013-12-5,那么不会输出49
  6. day、month、year可以与datepart对比一下
    select year('2013-12-5'),datepart(year,'2013-12-5')--获取指定日期中的年select month('2013-12-5'),datepart(month,'2013-12-5')   --获取指定日期中的月select day('2013-12-5'),datepart(day,'2013-12-5')--获取提定日期中的日

二、练习

--声明两个时间declare @t1 datetimedeclare @t2 datetimeset @t1='2013-12-4 12:28:00'set @t2='2013-12-5 13:28:00'--计算两个时间相差的天数select @t1 as 开始时间,@t2 as 结束时间,datediff(day,@t1,@t2) as 相差天数--计算两个时间相差的小时select @t1 as 开始时间,@t2 as 结束时间,datediff(hour,@t1,@t2) as 相差小时--计算两个时间相差的分钟select @t1 as 开始时间,@t2 as 结束时间,datediff(minute,@t1,@t2) as 相差分钟--计算两个时间相差的秒数select @t1 as 开始时间,@t2 as 结束时间,datediff(second,@t1,@t2) as 相差秒数