• (3.1)常用知识-日期处理


    日期处理

      

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

    函数描述
    GETDATE() 返回当前日期和时间
    DATEPART(Type,date) 返回日期/时间的单独部分
    DATEADD(Type,number,date) 在日期中添加或减去指定的时间间隔
    DATEDIFF(Type,date1,date2) 返回两个日期之间的时间
    CONVERT( data_type [ ( length ) ] , expression [ , style ]) 用不同的格式显示日期/时间

    Type参数日期类型枚举

    缩 写(Sql Server) Access 和 ASP 说明
    Year Yy yyyy 年 1753 ~ 9999
    Quarter Qq 季 1 ~ 4
    Month Mm 月1 ~ 12
    Day of year Dy y 一年的日数,一年中的第几日 1-366
    Day Dd 日,1-31
    Weekday Dw w 一周的日数,一周中的第几日 1-7
    Week Wk ww 周,一年中的第几周 0 ~ 51
    Hour Hh 时0 ~ 23
    Minute Mi 分钟0 ~ 59
    Second Ss s 秒 0 ~ 59
    Millisecond Ms - 毫秒 0 ~ 999

     例子:

    复制代码
    --getdate 获取当前时间
     select getdate()
     
     --dateadd 原有时间加: 2013-02-17 13:20:16 此时间加12个月 
     select dateadd(MONTH,12,'2013-02-17 13:20:16')  --返回:2014-02-17 13:20:16.000  (参数month可以改为 day,year等日期加相应的值)
     
     --datediff 两个时间的差 (后面-前面=返回值)
     select datediff(day,'2013-02-01','2013-02-18')   --返回:17  (参数day可以改为 month,year等日期加相应的值)
     
     --datepart 获取日期的某个部分整数
     select DATEPART(month, '2013-2-17')  --返回 2    (参数month可以改为 day,year等日期加相应的值)
     
     --datename 获取指定部位的字符串
     select datename(weekday, '2013-2-17')  --返回 星期日 (参数weekday可以改为 day,year等日期加相应的值)
    
     --day(), month(),year() 获取指定部位的字符串
     select day('2013-2-15') --返回15
    复制代码

    Convert日期转换函数

    时间格式转换使用 CONVERT:CONVERT ( data_type [ ( length ) ] , expression [ , style ] )

    data_type
    目标系统所提供的数据类型,包括 bigint 和 sql_variant。不能使用用户定义的数据类型。
    参数
    length
    nchar、nvarchar、char、varchar、binary 或 varbinary 数据类型的可选参数。 

    expression
    是任何有效的 Microsoft® SQL Server™ 表达式。

    style:风格

    下面是日期格式的expression

    复制代码
    Select CONVERT(varchar(100), GETDATE(), 0)-- 05 16 2006 10:57AM
    Select CONVERT(varchar(100), GETDATE(), 1)-- 05/16/06
    Select CONVERT(varchar(100), GETDATE(), 2)-- 06.05.16
    Select CONVERT(varchar(100), GETDATE(), 3)-- 16/05/06
    Select CONVERT(varchar(100), GETDATE(), 4)-- 16.05.06
    Select CONVERT(varchar(100), GETDATE(), 5)-- 16-05-06
    Select CONVERT(varchar(100), GETDATE(), 6)-- 16 05 06
    Select CONVERT(varchar(100), GETDATE(), 7)-- 05 16, 06
    Select CONVERT(varchar(100), GETDATE(), 8)-- 10:57:46
    Select CONVERT(varchar(100), GETDATE(), 9)-- 05 16 2006 10:57:46:827AM
    Select CONVERT(varchar(100), GETDATE(), 10)-- 05-16-06
    Select CONVERT(varchar(100), GETDATE(), 11)-- 06/05/16
    Select CONVERT(varchar(100), GETDATE(), 12)-- 060516
    Select CONVERT(varchar(100), GETDATE(), 13)-- 16 05 2006 10:57:46:937
    Select CONVERT(varchar(100), GETDATE(), 14)-- 10:57:46:967
    Select CONVERT(varchar(100), GETDATE(), 20)-- 2006-05-16 10:57:47
    Select CONVERT(varchar(100), GETDATE(), 21)-- 2006-05-16 10:57:47.157
    Select CONVERT(varchar(100), GETDATE(), 22)-- 05/16/06 10:57:47 AM
    Select CONVERT(varchar(100), GETDATE(), 23)-- 2006-05-16
    Select CONVERT(varchar(100), GETDATE(), 24)-- 10:57:47
    Select CONVERT(varchar(100), GETDATE(), 25)-- 2006-05-16 10:57:47.250
    Select CONVERT(varchar(100), GETDATE(), 100)-- 05 16 2006 10:57AM
    Select CONVERT(varchar(100), GETDATE(), 101)-- 05/16/2006
    Select CONVERT(varchar(100), GETDATE(), 102)-- 2006.05.16
    Select CONVERT(varchar(100), GETDATE(), 103)-- 16/05/2006
    Select CONVERT(varchar(100), GETDATE(), 104)-- 16.05.2006
    Select CONVERT(varchar(100), GETDATE(), 105)-- 16-05-2006
    Select CONVERT(varchar(100), GETDATE(), 106)-- 16 05 2006
    Select CONVERT(varchar(100), GETDATE(), 107)-- 05 16, 2006
    Select CONVERT(varchar(100), GETDATE(), 108)-- 10:57:49
    Select CONVERT(varchar(100), GETDATE(), 109)-- 05 16 2006 10:57:49:437AM
    Select CONVERT(varchar(100), GETDATE(), 110)-- 05-16-2006
    Select CONVERT(varchar(100), GETDATE(), 111)-- 2006/05/16
    Select CONVERT(varchar(100), GETDATE(), 112)-- 20060516
    Select CONVERT(varchar(100), GETDATE(), 113)-- 16 05 2006 10:57:49:513
    Select CONVERT(varchar(100), GETDATE(), 114)-- 10:57:49:547
    Select CONVERT(varchar(100), GETDATE(), 120)-- 2006-05-16 10:57:49
    Select CONVERT(varchar(100), GETDATE(), 121)-- 2006-05-16 10:57:49.700
    Select CONVERT(varchar(100), GETDATE(), 126)-- 2006-05-16T10:57:49.827
    Select CONVERT(varchar(100), GETDATE(), 130)-- 18 ???? ?????? 1427 10:57:49:907AM
    Select CONVERT(varchar(100), GETDATE(), 131)-- 18/04/1427 10:57:49:920AM

     转载自:https://www.cnblogs.com/sunxi/p/4497272.html

    16. set datefirst 1

     

    复制代码
    --获取当前星期
    select datename(dw,getdate())
      

    --改为英文格式

      

     --获得数字格式

    select datepart(dw,getdate())--今天周五但外国是以周日为1星期的开头,周日为1,到了周五自然为6

    --设置为周1为1
    set datefirst  1
    select datepart(dw,getdate())
  • 相关阅读:
    BEC listen and translation exercise 44
    中译英12
    BEC listen and translation exercise 43
    中译英11
    BEC listen and translation exercise 42
    中译英10
    BEC listen and translation exercise 41
    中译英9
    BEC listen and translation exercise 40
    中译英8
  • 原文地址:https://www.cnblogs.com/gered/p/9135173.html
Copyright © 2020-2023  润新知