• SQL 时间函数 Datepart()与DateName()


    1.Datepart()

    返回代表指定日期的指定日期部分的整数

    语法 Datepart(datepart,date)

    返回类型 int

    datepart:

     

    日期部分 缩写
    year yy, yyyy
    quarter qq, q
    month mm, m
    dayofyear dy, y
    day dd, d
    week wk, ww
    weekday dw日期部分返回对应于星期中的某天的数,例如:Sunday =1
    Hour hh
    minute mi, n
    second ss, s
    millisecond ms

    declare @date datetime
    set @date='2009-12-24 16:35:37.733'
    select datepart(year,@date)--2009
    select datepart(month,@date)--12
    select datepart(day,@date)--24
    select datepart(quarter,@date)--4
    select datepart(dayofyear,@date)--358
    select datepart(weekday,@date)--5
    select datepart(week,@date)--52
    select datepart(Hour,@date)--16
    select datepart(minute,@date)--35

    2.DateName()

    返回代表指定日期的指定日期部分的字符串

    语法 DateName(datepart , date )
    返回类型 nvarchar
    参数 datepart 同上表格

    declare @date datetime
    set @date='2009-12-24 16:35:37.733'
    select datename(year,@date)--2009
    select datename(month,@date)--December
    select datename(day,@date)--24
    select datename(quarter,@date)--4
    select datename(dayofyear,@date)--358
    select datename(weekday,@date)--Thursday
    select datename(week,@date)--52
    select datename(Hour,@date)--16
    select datename(minute,@date)--35

    3.其他日期函数

    declare @date1 datetime,@date2 datetime
    set @date1='2009-10-24 16:35:37.733'
    set @date2='2009-12-24 16:35:37.733'
    select DAY(@date1)--24
    select MONTH(@date1)--10 具有确定性 
    select YEAR (@date1)--2009具有确定性 
    select DATEPART (dw, @date2)

    select GETDATE() 不具有确定性 
    select GETUTCDATE() 不具有确定性
    DATENAME() 不具有确定性
    DATEADD(dd,@date1,1) 具有确定性 
    DATEDIFF 具有确定性
    DATEPART 除了用作 
    DATEPART (dw, date) 外都具有确定性。dw 是工作日的日期部分,取决于由设置每周第一天的 SET DATEFIRST所设置的值。 
    具有确定性

     

    --判断是否为时间

    selectcast(isdate('2012-06-02 16:26:07.880') asvarchar)

    --获得年

    select cast(year('2012-06-0216:26:07.880') as varchar)

    selectdatepart(yyyy,'2012-06-02 16:26:07.880')

    selectdatename(yyyy,'2012-06-02 16:26:07.880')

    --获得月

    select cast(Month('2012-06-0216:26:07.880') as varchar)

    selectdatepart(mm,'2012-06-02 16:26:07.880')

    selectdatename(mm,'2012-06-02 16:26:07.880')

    --获得日

    select cast(day('2012-06-0216:26:07.880') as varchar)

    selectdatepart(dd,'2012-06-02 16:26:07.880')

    selectdatename(dd,'2012-06-02 16:26:07.880')

    --获得时

    selectdatepart(hh,'2012-06-02 16:26:07.880')

    selectdatename(hh,'2012-06-02 16:26:07.880')

    --获得分

    select datepart(n,'2012-06-0216:26:07.880')

    select datename(n,'2012-06-0216:26:07.880')

    --获得秒

    selectdatepart(ss,'2012-06-02 16:26:07.880')

    selectdatename(ss,'2012-06-02 16:26:07.880')

    --毫秒

    selectdatepart(ms,'2012-06-02 16:26:07.880')

    selectdatename(ms,'2012-06-02 16:26:07.880')

    --季节

    selectdatepart(qq,'2012-06-02 16:26:07.880')

    selectdatename(qq,'2012-06-02 16:26:07.880')

    --一年中的第几天

    selectdatepart(dy,'2012-06-02 16:26:07.880')

    selectdatename(dy,'2012-06-02 16:26:07.880')

    --一年中的第几周

    selectdatepart(wk,'2012-06-02 16:26:07.880')

    selectdatename(wk,'2012-06-02 16:26:07.880')

    --星期

    selectdatepart(dw,'2012-06-02 16:26:07.880') --SET DATEFIRST 7每周第一天

    selectdatename(dw,'2012-06-02 16:26:07.880')

  • 相关阅读:
    hello
    1234566i 还是规范
    萨嘎给
    DRF 商城项目
    DRF 商城项目
    DRF 商城项目
    Windows 上连接本地 Linux虚拟机上的 mysql 数据库
    xadmin 数据添加报错: IndexError: list index out of range
    python 实现聊天室
    xadmin 组件拓展自定义使用
  • 原文地址:https://www.cnblogs.com/dcrenl/p/4041138.html
Copyright © 2020-2023  润新知