• sqlserver日期函数


    *--*  定义变量 

    declare @datetim date
    set @datetim = getdate()

    *--* eomonth函数求日期月份最后一天日期(sql 2012)

    SELECT EOMONTH (GETDATE()) --EOMONTH (@data, @num) num传入数值对应当前月份+num的月份

      

    *--* 获取当前年、月、日

    select year(getdate())
    select month(getdate())
    select day(getdate())

    *--* DATEDIFF() 函数

    select DATEDIFF(yy,'1900-01-01',getdate())--当前时间与1900-01-01差值(yy 单位年)

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

    select DATEADD(mm,1,getdate())--mm表示月,结果为下一月份的当前时间

    select dateadd(dd,-day(getdate())+1,getdate())--当前月份第一天
    select DATEADD(mm, DATEDIFF(m,0,getdate()), 0)--当前月份第一天时分秒为00:00:00.000
    select dateadd(dd,-day(getdate()),getdate()) --上月份最后一天 
    select CONVERT(DATETIME, EOMONTH (GETDATE()), 120) --本月份最后一天(sql2012以上适用) 00:00:00.000
    select dateadd(mm, 1, dateadd(dd,-day(getdate())+1,getdate()))-1 --本月份最后一天 
    SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0))--本月最后一天 时分秒为23:59:59.997
    select dateadd(year, datediff(year, 0, getdate()), 0)-- 当年第一天
    select dateadd(year, datediff(year, 0, dateadd(year, 1, getdate())), -1)-- 当年最后一天
    SELECT dateadd(ms,-2,DATEADD(year, DATEDIFF(year,1,getdate())+1, 0))--当年最后一天 时分秒为23:59:59.997

     *--*  convert 日期字符串相互转换。

    select CONVERT(DATETIME, '2019-01-02', 120) --结果 2019-01-02 00:00:00.000
    select CONVERT(VARCHAR(10), GETDATE(), 120)-- 结果 2019-07-23
    
    select CONVERT(DATETIME, '20190102', 112) --结果 2019-01-02 00:00:00.000
    select CONVERT(VARCHAR(9), GETDATE(), 112) --结果 20190723

  • 相关阅读:
    字符串算法—正则表达式
    字符串算法—字符串搜索
    字符串算法—字典树
    字符串算法—字符串排序(下篇)
    字符串算法—字符串排序(上篇)
    图表算法—最短路径
    基本算法——前缀和与差分
    图论——图的表示
    基本算法——康托展开与逆康托展开
    基本算法——离散化
  • 原文地址:https://www.cnblogs.com/hnzkljq/p/11199334.html
Copyright © 2020-2023  润新知