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

         使用这些函数可以计算日期和时间值。例如,假设您希望了解通常在一周中哪一天的销售量最高。使用 DAYOFWEEK 函数,您可以创建一个公式来标识每天的销售订单数量。再比如,假设您希望比较在过去的一年中的季度收益。使用 QUARTER 函数,您可以按季度划分整年的销售量。

    日期和时间函数可使用以下数据类型:String、Integer 和 DateTime。其默认格式由本地计算机的区域设置决定。

    datepart参数

    datepart

    缩写

    year

    yy, yyyy

    quarter

    qq, q

    month

    mm, m

    dayofyear

    dy, y

    day

    dd, d

    week

    wk, ww

    hour

    hh

    minute

    mi, n

    second

    ss, s

    millisecond

    ms

    microsecond

    mcs

    nanosecond

    ns

     

    用来获取日期和时间部分的函数

    函数

    语法

    返回值

    返回数据类型

    确定性

    DATENAME

    DATENAME (datepart , date )

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

    nvarchar

    不具有确定性

    DATEPART

    DATEPART (datepart , date )

    返回表示指定 date 的指定datepart 的整数。

    int

    不具有确定性

    DAY

    DAY ( date )

    返回表示指定 date 的“日”部分的整数。

    int

    具有确定性

    MONTH

    MONTH ( date )

    返回表示指定 date 的“月”部分的整数。

    int

    具有确定性

    YEAR

    YEAR ( date )

    返回表示指定 date 的“年”部分的整数。

    int

    具有确定性

    详解:

    一.DATENAME ( datepart , date )

    返回表示指定日期的指定 datepart的字符串。Nvarchar类型

    例:

    SELECT DATENAME(year,getdate())--年

        ,DATENAME(month,getdate())--月

        ,DATENAME(day,getdate())--日

        ,DATENAME(dayofyear,getdate())--一年中的第几天

        ,DATENAME(quarter,getdate())--季节

        ,DATENAME(week,getdate())--星期

        ,DATENAME(weekday,getdate())--星期几

        ,DATENAME(hour,getdate())--小时

        ,DATENAME(minute,getdate())--分钟

        ,DATENAME(second,getdate());--秒钟

    select getdate()--获取当前时间作为参照

    备注

    DATENAME 可用于选择列表 WHERE、HAVING、GROUP BY 和 ORDER BY 子句中。

    二.DATEPART

    DATEPART ( datepart , date )

    返回表示指定 date 的指定 datepart的整数。Int类型

    例:

    SELECT DATEPART(year,getdate())--年

        ,DATEPART(month,getdate())--月

        ,DATEPART(day,getdate())--日

        ,DATEPART(dayofyear,getdate())--一年中的第几天

        ,DATEPART(quarter,getdate())--季节

        ,DATEPART(week,getdate())--星期

        ,DATEPART(weekday,getdate())--星期几         返回 1

        ,DATEPART(hour,getdate())--小时

        ,DATEPART(minute,getdate())--分钟

        ,DATEPART(second,getdate());--秒钟

    注:datename与datepart意义相似但返回值不同,前者为字符串类型,后者为整形。如:datename(week,getdate()),返回值是星期一,星期二。。。而后者返回值为1,2,3,4。。。且礼拜天返回1

    三.直接获取(只限于年月日)

    SELECT YEAR(getdate())

    MONTH(getdate())

    DAY(getdate());

    用来获取日期和时间差的函数

    函数

    语法

    返回值

    返回数据类型

    确定性

    DATEDIFF

    DATEDIFF ( datepart ,startdate , enddate )

    返回两个指定日期之间所跨的日期或时间 datepart 边界的数目。

    int

    具有确定性

    公式

    结果

    DATEDIFF(MONTH, #1/1/2009#, #3/31/2009#)

    2

    DATEDIFF(HOUR, #7/15/2006 3:30:29 AM#, #7/20/2006 5:30:29 AM#)

    122

    DATEDIFF(DAY, Sell Start DateSell End Date)

    返回 Sell Start Date 和 Sell End Date 字段的每对实例之间相差的天数。

     

    用来修改日期和时间值的函数

    函数

    语法

    返回值

    返回数据类型

    确定性

    DATEADD

     

    DATEADD (datepart ,number , date )

    通过将一个时间间隔与指定date 的指定 datepart 相加,返回一个新的 datetime值。

    date 参数的数据类型。

    具有确定性

    说明

    年份

    DATEADD(year4,getdate())

    DATEADD(yy4,getdate())

    DATEADD(yyyy4,getdate())

    月份

    DATEADD(month5,getdate())

    DATEADD(mm5,getdate())

    DATEADD(m5,getdate())

    天数

    DATEADD(day4,getdate())

    DATEADD(dd4,getdate())

    DATEADD(d4,getdate())

    季节

    DATEADD(quarter1,getdate())

    DATEADD(qq1,getdate())

    DATEADD(q1,getdate())

    星期

    DATEADD(week,1,getdate())

    DATEADD(ww,1,getdate())

    DATEADD(wk,1,getdate())

    DATEADD(hour4,getdate())

    DATEADD(minute4,getdate())

    DATEADD(second4,getdate())

     

  • 相关阅读:
    基于redis实现的延迟消息队列
    Redis实现求交集操作结果缓存的设计方案
    限流算法之漏桶算法、令牌桶算法
    Apache设置防DDOS模块mod_evasive
    FastCGI技术
    详解强大的SQL注入工具——SQLMAP
    nginx根据域名做http,https分发
    Nginx配置SSL证书部署HTTPS网站
    JProfiler学习笔记
    Mysql压测工具mysqlslap 讲解
  • 原文地址:https://www.cnblogs.com/xyyt/p/3980128.html
Copyright © 2011-2022 走看看