zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    [杂题]FZU2190 非提的救赎
    [模拟]ZOJ3480 Duck Typing
    [模拟]ZOJ3485 Identification Number
    [数论]ZOJ3593 One Person Game
    [博弈]ZOJ3591 Nim
    [杂题]URAL1822. Hugo II's War
    二分图相关
    KMP算法详解
    中国国家集训队论文集目录(1999-2009)
    最短路Dijkstra算法的一些扩展问题
  • 原文地址:https://www.cnblogs.com/hnzkljq/p/11199334.html
Copyright © 2011-2022 走看看