zoukankan      html  css  js  c++  java
  • 日期和时间处理函数

    这篇文章要总结的是SQL在日期和时间处理方面的函数,总结起来,主要有以下这些函数在我们的开发过程中使用得比较多的。

    1,获取当前系统时间

    2,DATEADD函数

    3,DATEDIFF函数

    4,DATEPART函数

    5,YEAR,MONTH和DAY函数

    6,DATENAME函数

    7,ISDATE函数

    获取当前系统时间

    获取当前系统时间的函数有很多,但是最常用就两个,CURRENT_TIMESTAMP和GETDATE。它们返回的日期和时间格式完全相同,但是因为CURRENT_TIMESTAMP是标准SQL,所以更推荐使用它。

    SQL查询代码:

    SELECT GETDATE() AS [GETDATE], CURRENT_TIMESTAMP AS [CURRENT_TIMESTAMP];

    查询结果:

    image

    我们可以看到,它们返回的日期时间完全相同。

    DATEADD函数

    DATEADD函数可以将指定日期的部分作为单位,为输入的日期和时间值增指定的数量。它的语法形式为:DATEADD(part,n,dt_val)

    例如,以下代码为“2014年7月26日”增加1年。

    SELECT DATEADD(YEAR,1,'20140726');

    查询结果:

    image

    DATEDIFF函数

    DATEDIFF函数返回两个日期和时间之间相差的指定部分的计数。它的语法形式:DATEDIFF(part,dt_val1,dt_val2)

    例如,以下代码返回两个值之间相差的天数。

    SELECT DATEDIFF(DAY,'20130726','20140726');

    查询结果:

    image

    我们可以看到,它们相关了365天。

    DATEPART函数

    DATEPART函数返回一个表示给定日期和时间值的指定部分的整数。语法:DATEPART(part,dt_val)

    例如,以下代码返回输入值的月份部分。

    SELECT DATEPART(MONTH,'20140726');

    查询结果:

    image

    代码返回的当前日期的月份是7月。

    YEAR,MONTH和DAY函数

    YEAR,MONTH和DAY函数是DATEPART函数的简略版本。它们分别返回一个代表输入日期和时间值中年,月,日部分的整数。语法:YEAR(dt_val),MONTH(dt_val),DAY(dt_val)

    例如,以下代码提取输入值的年,月,日部分。

    USE TSQLFundamentals2008;
    GO
    
    SELECT
        YEAR('20140726') AS theyear,
        MONTH('20140726') AS themonth,
        DAY('20140726') AS theday;

    查询结果:

    image

    DATENAME函数

    DATENAME函数返回一个给定日期和时间值的指定部分的字符串。语法为:DATENAME(part,dt_val)

    例如,以下代码返回给定输入日期和时间值的月份名称字符串。

    SELECT DATENAME(MONTH,'20140726');

    查询结果:

    image

    ISDATE函数

    ISDATE函数接受一个字符串作为输入,如果能把这个字符串转换为日期和时间数据类型的值,则返回1,如果不能,则返回0。它的语法:ISDATE(string)

    例如,以下代码返回1:

    以下代码则返回0:

    USE TSQLFundamentals2008;
    GO
    
    -- 返回1,可以正常转换
    SELECT ISDATE('20090212');
    
    -- 返回0,因为2月没有30,所以转换失败
    SELECT ISDATE('20090230');

    查询结果:

    image

    1和0可以很好地转换成C#里的true和false。

  • 相关阅读:
    iPhone X 的“刘海”正是苹果的品牌象征
    中国首届原型设计大赛在成都举办
    hdu1114Piggy-Bank(完全背包)
    hdu2602Bone Collector(01背包)
    漏洞百出的线段树!!
    hdu1078FatMouse and Cheese
    hdu2859Phalanx
    poj3186Treats for the Cows(区间dp)
    uva10088格点多边形
    快速幂快速乘
  • 原文地址:https://www.cnblogs.com/mcgrady/p/3870317.html
Copyright © 2011-2022 走看看