• sql date()函数


    SQL Server Date 函数

    下面的表格列出了 SQL Server 中最重要的内建日期函数:

    函数描述
    GETDATE() 返回当前的日期和时间
    DATEPART() 返回日期/时间的单独部分
    DATEADD() 在日期中添加或减去指定的时间间隔
    DATEDIFF() 返回两个日期之间的时间
    CONVERT() 用不同的格式显示日期/时间

    (1)、GETDATE() 函数从 SQL Server 返回当前的日期和时间。

    语法

    GETDATE()

    实例

    下面是 SELECT 语句:

    SELECT GETDATE() AS CurrentDateTime

    结果如下所示:

    CurrentDateTime
    2008-11-11 12:45:34.243

    (2)、

    DATEPART() 函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等。

    语法

    DATEPART(datepart,date)

    date 参数是合法的日期表达式。datepart 参数可以是下列的值:

    datepart缩写
    yy, yyyy
    季度 qq, q
    mm, m
    年中的日 dy, y
    dd, d
    wk, ww
    星期 dw, w
    小时 hh
    分钟 mi, n
    ss, s
    毫秒 ms
    微妙 mcs
    纳秒 ns

    实例

    假设我们有如下的 "Orders" 表:

    OrderIdProductNameOrderDate
    1 Jarlsberg Cheese 2008-11-11 13:23:44.657

    下面是 SELECT 语句:

    SELECT DATEPART(yyyy,OrderDate) AS OrderYear, DATEPART(mm,OrderDate) AS OrderMonth, DATEPART(dd,OrderDate) AS OrderDay, FROM Orders WHERE OrderId=1

    结果如下所示:

    OrderYearOrderMonthOrderDay
    2008 11 11

    (3)、

    DATEADD() 函数在日期中添加或减去指定的时间间隔。

    语法

    DATEADD(datepart,number,date)

    date 参数是合法的日期表达式。number 是您希望添加的间隔数;对于未来的时间,此数是正数,对于过去的时间,此数是负数。

    datepart 参数可以是下列的值:

    datepart缩写
    yy, yyyy
    季度 qq, q
    mm, m
    年中的日 dy, y
    dd, d
    wk, ww
    星期 dw, w
    小时 hh
    分钟 mi, n
    ss, s
    毫秒 ms
    微妙 mcs
    纳秒 ns

    实例

    假设我们有如下的 "Orders" 表:

    OrderIdProductNameOrderDate
    1 Jarlsberg Cheese 2008-11-11 13:23:44.657

    现在,我们想要向 "OrderDate" 添加 45 天,这样就可以找到付款日期。

    我们使用下面的 SELECT 语句:

    SELECT OrderId,DATEADD(day,45,OrderDate) AS OrderPayDate FROM Orders

    结果:

    OrderIdOrderPayDate
    1 2008-12-26 13:23:44.657

    (4)、

    DATEDIFF() 函数返回两个日期之间的天数。

    语法

    DATEDIFF(datepart,startdate,enddate)

    startdate 和 enddate 参数是合法的日期表达式。datepart 参数可以是下列的值:

    datepart缩写
    yy, yyyy
    季度 qq, q
    mm, m
    年中的日 dy, y
    dd, d
    wk, ww
    星期 dw, w
    小时 hh
    分钟 mi, n
    ss, s
    毫秒 ms
    微妙 mcs
    纳秒 ns

    实例

    现在我们想要获取两个日期之间的天数。

    我们使用下面的 SELECT 语句:

    SELECT DATEDIFF(day,'2008-06-05','2008-08-05') AS DiffDate

    结果:

    DiffDate
    61

    实例

    现在我们想要获取两个日期之间的天数(请注意,第二个日期比第一个日期早,结果将是一个负数)。

    我们使用下面的 SELECT 语句:

    SELECT DATEDIFF(day,'2008-08-05','2008-06-05') AS DiffDate

    结果:

    DiffDate
    -61

    (5)、

    CONVERT() 函数是把日期转换为新数据类型的通用函数。

    CONVERT() 函数可以用不同的格式显示日期/时间数据。

    语法

    CONVERT(data_type(length),expression,style)
    描述
    data_type(length) 规定目标数据类型(带有可选的长度)。
    expression 规定需要转换的值。
    style 规定日期/时间的输出格式。

    下面的表格展示了 datetime 或 smalldatetime 转换为字符数据的 style 值:

    值 (世纪 yy)值 (世纪 yyyy)输入/输出标准
    - 0 or 100 mon dd yyyy hh:miAM (or PM) Default
    1 101 mm/dd/yy USA
    2 102 yy.mm.dd ANSI
    3 103 dd/mm/yy British/French
    4 104 dd.mm.yy German
    5 105 dd-mm-yy Italian
    6 106 dd mon yy  
    7 107 Mon dd, yy  
    8 108 hh:mm:ss  
    - 9 or 109 mon dd yyyy hh:mi:ss:mmmAM (or PM) Default+millisec
    10 110 mm-dd-yy USA
    11 111 yy/mm/dd Japan
    12 112 yymmdd ISO
    - 13 or 113 dd mon yyyy hh:mi:ss:mmm (24h)  
    14 114 hh:mi:ss:mmm (24h)  
    - 20 or 120 yyyy-mm-dd hh:mi:ss (24h)  
    - 21 or 121 yyyy-mm-dd hh:mi:ss.mmm (24h)  
    - 126 yyyy-mm-ddThh:mi:ss.mmm (no spaces) ISO8601
    - 130 dd mon yyyy hh:mi:ss:mmmAM Hijiri
    - 131 dd/mm/yy hh:mi:ss:mmmAM Hijiri

    实例

    下面的脚本使用 CONVERT() 函数来显示不同的格式。我们将使用 GETDATE() 函数来获得当前的日期/时间:

    CONVERT(VARCHAR(19),GETDATE()) CONVERT(VARCHAR(10),GETDATE(),10) CONVERT(VARCHAR(10),GETDATE(),110) CONVERT(VARCHAR(11),GETDATE(),6) CONVERT(VARCHAR(11),GETDATE(),106) CONVERT(VARCHAR(24),GETDATE(),113)

    结果如下所示:

    Nov 04 2011 11:45 PM 11-04-11 11-04-2011 04 Nov 11 04 Nov 2011 04 Nov 2011 11:45:34:243
  • 相关阅读:
    JavaScript随机数
    javascript函数
    hdu 4122(RMQ)2011福州现场赛B题
    hdu 4119 (模拟+字符串)成都现场赛I题
    hdu 4118(树形dp) 成都现场赛H题
    hdu 4115(2-SAT) 2011 成都现场赛E题
    Codeforces Round #237 (Div. 2) 解题报告
    Codeforces Round #234 (Div. 2) 解题报告
    uva 1411(二分图最大权匹配)
    uva 11383(二分图最大权匹配)
  • 原文地址:https://www.cnblogs.com/nxxshxf/p/5627633.html
Copyright © 2020-2023  润新知