SQL ServerSQL Server日期时间函数

转自博客园:

1、获取当前日子GetDate

   getdate()函数以datetime数据类型的格式返回时SQLServer服务器所在计算机的日子及时间。其语法格式为getdate()。返回值舍入到近年来之秒小数部分,精度为.333秒数据库十七偏移量不带有在内。

     示例:

  select getdate() --输出 2013-03-09 15:16:00.570

  2、GetUTCDate 获取UTC时间值

  select GETUTCDATE() -- 2013-06-18 08:02:53.253

  这个得到的凡UTC时间。

  3、获取年度信息YEAR  

   year函数以int数据类型的格式返回特定日期的东信息。其语法格式为YEAR(date数据)。其中的date数据经常一个方可分析为time、date、smalldatetime、datetime、datetime2或datetimeoffset值的表达式,列表达式、用户定义之变量或字符串文字。

   示例:

  select year(getdate()) --输出 2013

  4、获取月份信息MONTH

   month函数以int数据类型的格式返回特定日期的月度信息。其语法格式为month(date数据)。其中的date数据常常一个可以分析为time、date、smalldatetime、datetime、datetime2或datetimeoffset值的表达式,列表达式、用户定义之变量或字符串文字。

    示例:

  select month(getdate()) --输出 3

  5、获取天数信息day

   day函数以int数据类型的格式返回特定日期的命运信息。其语法格式为day(date数据)。其中的date数据时一个得分析为time、date、smalldatetime、datetime、datetime2或datetimeoffset值的表达式,列表达式、用户定义之变量或字符串文字。

    示例:

  select day(getdate()) --输出 9

  6、获取任意时间有些DatePart

   datepart函数以int数据类型的格式返回某个日期时数额的指定部分。

   1、语法格式:

  datepart( datepart , date数据 )

   datepart:特定的比方返回的多少的格式代码。

  date数据:一个可以分析为time、date、smalldatetime、datetime、datetime2或者datetimeoffset值的表达式、列表表达式、用户定义的变量或字符串文字。

   2、Datepart取值

    Datepart部分的取值如下表所示:

说明 取值
返回年度信息 Year、YYYY、YY
返回月份信息 Month、MM、M
返回日期信息 Day、DD、D
返回周信息 Week、WK、WW
返回每周星期几信息 WeekDay、DW
返回季度信息 Quarter、QQ、Q
返回一年中第几天的信息 DayOfYear、DY、Y
返回小时信息 Hour、HH
返回分钟信息 Minute、MI、N
返回秒信息 Second、SS、SS
返回毫秒信息 MillSecond、MS

   7、获取任意时间部分DateName

    返回表示指定日期的指定日期有的字符串。

  SELECT DateName(Quarter,GetDate()) --输出 2(6月)

  示例:

  select datepart(Quarter,getdate()) --输出 1 现在是第几季度

  8、日期加法DATEADD

    dateadd函数将某日期加上一个特定的时间隔值后返回datetime数据类型的价。

    1、语法格式:

  dateadd (datepart,numer,date数据)

    numer:用于和detepart相加之价。如果指定了非整数值,则用放弃该值的小数部分。

    date数据:一个用于解析为time、date、smalldatetime、datetime、datetime2、或datetimeoffset值的表达式、列表达式、用户定义的变量或字符串文字。

    datepart:时间有些。上节。

    示例:

  select getdate()    --输出 2013-03-09 16:03:59.293
  select dateadd(YYYY,10,getdate())    --加了十年    输出2023-03-09 16:04:36.893        

  8、日期减法DATEDIFF

    datediff函数将点滴个特定的日期数相减,得到的结果好以detepart指定的格式返回特定的多寡。

    1、语法格式:

  datediff(datepart,startdate,enddate)

    执行中将以enddate减以startdate的值,如果startdate晚于enddate将回来负值。执行结果而超过整数范围以唤起错误。

    startdate:一个方可分析为time、date、smalldate、datetime、datetime2或datetimeoffset值的表达式、列表达式、用户定义之变量或字符串文字。

    enddate:一个得分析为time、date、smalldate、datetime、datetime2或datetimeoffset值的表达式、列表达式、用户定义的变量或字符串文字。

    datepart:时间有些。

    示例:

  select datediff(YYYY,'2011-11-11','2012-12-12')    --输出1 年份相减之后的确是1
  select datediff(day,'2011-11-11','2012-12-12')     --输出 397 两个日期相差的天数

    2013-3-13日补充,用这个方法查询时之笔录:

  select * from test where datediff(day,Rq,getdate()) = 0 --其中Rq为日期列,此行代码的意思是什么呢?getdate()减去Rq列的值为0,Rq列的值与今天相减,号数为0  

  9、SQLServer 2008中激增的日期时档次函数

    1、获取系统时 SysDateTime

    sysdatetime函数以datetime2(7)数据类型的格式返回时系的日期及时空。其语法格式为sysdatetime()。返回值有七单稍数员,但单纯精确到10毫秒。数据库偏移量未含在内。

  SELECT SYSDATETIME()  --2013-06-17 22:17:59.0610211

    2、获取当前日子以及时空 SysDateTimeOffset

    sysdatetimeoffset函数以datetimeoffset(7)数据类型的格式返回时系的日期以及时。其语法格式为sysdatetimeoffset()。返回值有七单稍数号,但特精确到10毫秒。数据库时区偏移量包含在内。

  SELECT sysdatetimeoffset()  --2013-06-17 22:18:30.1788009 +08:00

    3、获取系统UTC时间 SysUTCDateTime

  select SysUTCDateTime() -- 2013-06-18 08:09:17.8229505

  10、Current_TimeStamp当前数据库系统时穿

  返回时数据库系统时穿,返回值的门类为 datetime,并且不带有数据库时区偏移量。 此值得自运行
SQL Server 实例的处理器的操作系统。等价于GetDate();

  SELECT CURRENT_TIMESTAMP --2013-06-18 16:16:10.007

  11、SWITCHOFFSET更改时间偏移量

    SwitchOffset更改 DateTimeOffset
值的时区偏移量并保存 UTC 值。

  SELECT SysDateTimeOffset()    -- 2013-06-18 16:40:34.4322865 +08:00
  SELECT SWITCHOFFSET (SysDateTimeOffset(), '+07:00') --2013-06-18 15:40:53.5403794 +07:00

  12、TodateTimeOffset  datetime2转datetimeoffset

  返回从 datetime2 表达式转换而来的一个 datetimeoffset 值。

  SELECT SysDateTimeOffset()    -- 2013-06-18 16:40:34.4322865 +08:00
  SELECT TodateTimeOffset(GetDate(),'+07:00') --2013-06-18 16:46:10.537 +07:00

  留意到以上代码是独自重复改时区,但是非改动时值。

  SysDateTime
和 SysUTCDate 在秒小数有的精度达只要于 GetDate 和 GetUTCDate 高。 SysDateTimeOffset
包含系统时区偏移量。 SysDateTime、SysUTCDate
和 SysDateTimeOffset
可分配给采用擅自日期及时间项目的变量。

  13、判断是否为日期数isDate

    ISDATE函数可以说明某个输入值是否也中的日期数

    1、语法结构:

  ISDATE(expression)

    2、返回值

     若表达式为使得日期则归 1 ,否则回 0 。

    示例:

    select isdate('2012-12-12')    -- 输出1
    select isdate('xxxx-12-12')  -- 输出0

 http://technet.microsoft.com/zh-cn/library/ms186724.aspx#ModifyDateandTimeValues

相关文章