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())

     

  • 相关阅读:
    uni-app 轮播图
    uni-app 头部及底部导航
    Eapp 创建项目及简单应用
    nodeJS学习笔记 express获得GET和POST请求参数
    Promise 之基础详细介绍
    动态代理个人理解
    springboot实现日志记录
    调节 alert confirm prompt 的位置
    打印日志文件
    Java正则速成秘籍(三)之见招拆招篇
  • 原文地址:https://www.cnblogs.com/xyyt/p/3980128.html
Copyright © 2011-2022 走看看