SQL Server日期时间函数

来源:互联网 发布:淘宝新版怎样发布宝贝 编辑:程序博客网 时间:2024/06/13 13:41

日期时间函数

     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        

    9、日期减法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  

    10、SQLServer 2008中新增的日期时间型函数

     1、获取系统时间 SysDateTime

        sysdatetime函数以datetime2(7)数据类型的格式返回当前系统的日期和时间。其语法格式为sysdatetime()。返回值有七个小数位,但只精确到10毫秒。数据库偏移量未包含在内。

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

     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

    11、Current_TimeStamp当前数据库系统时间戳

  返回当前数据库系统时间戳,返回值的类型为 datetime,并且不含数据库时区偏移量。 此值得自运行 SQL Server 实例的计算机的操作系统。等价于GetDate();

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

    12、SWITCHOFFSET更改时间偏移量

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

    13、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 可分配给采用任意日期和时间类型的变量。

    14、判断是否为日期数据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


本文转自:SQL Server日期时间函数


  
阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 刘岩残疾 刘岩的老公 舞蹈家刘岩 刘岩鉴定专家 刘岩结婚了吗 舞者刘岩个人资料 书画鉴定家刘岩 刘岩郎昆 文物鉴定专家刘岩 刘岱 刘岳 刘峙 刘峙简介 刘峥 刘嵩 刘巍 刘巍的个人资料 刘川 刘巴 刘帅 刘帅图片 刘帅麻辣烫好吃吗 刘帅麻辣烫总部地址 刘帆 刘庄 东汉明帝刘庄 新乡刘庄 小刘庄 汉明帝 刘庆 刘庆和 刘康 刘庸 刘庸下南京 画家刘庸 刘庸电视 刘庸的散文 纪连海刘庸 刘庸的作品 清代刘庸 刘庸下南京全集刘忠河唱