Skip to content

SqlServer 日期函数

日期函数

GETDATE()

得到当前时间,可以设置得到各种时间格式.

DATEPART(日期部分,日期)

取指定时间的某一个部分,年月天时分秒.

DATEDIFF(日期部分,日期 1,日期 2)

计算指定的日期 1 和日期 2 的时间差多少.

DATEADD(日期部分,数值表达式,日期)

计算指定时间,再加上表达式指定的时间长度.

取前几天

sql
SELECT DATEADD(DAY,-10,GETDATE())

取时间的某一个部分

sql
SELECT DATEPART(yy,GETDATE())   --year
SELECT DATEPART(mm,GETDATE())   --month
SELECT DATEPART(dd,GETDATE())   --day
SELECT DATEPART(hh,GETDATE())   --hour
SELECT DATEPART(mi,GETDATE())   --min
SELECT DATEPART(ss,GETDATE())   --sec

取星期几

sql
SET datefirst 1
SELECT DATEPART(weekday,GETDATE()) /*--weekday*/

字符串时间

点击查看 SQL
sql
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 --整数时间*/
sql
SELECT DATEPART(hh,GETDATE())*10000 + DATEPART(mi,GETDATE())*100 + DATEPART(ss,GETDATE()) -- 110646

时间格式 "YYYY.MM.DD HH:MI:MS" 转换为 "YYYYMMDDHHMISS"

sql
DECLARE @a DATETIME,@tmp VARCHAR(20),@tmp1 VARCHAR(20)
SELECT @a=CONVERT(DATETIME,'2004.08.03 12:12:12')
SELECT @tmp=CONVERT(CHAR(10),@a,112)
SELECT @tmp
SELECT @tmp1=CONVERT(CHAR(10),DATEPART(hh,@a)*10000 + DATEPART(mi,@a)*100 + DATEPART(ss,@a))
SELECT @tmp1
SELECT @tmp=@tmp+@tmp1
SELECT @tmp

当月最后一天

sql
DECLARE
    @tmpstr       VARCHAR(10)
    @mm           INT,
    @premm        INT,
    @curmmlastday VARCHAR(10)
BEGIN
    SELECT @mm=DATEPART(MONTH,GETDATE())--当月
    SELECT @premm=DATEPART(MONTH,DATEADD(MONTH,-1,GETDATE())) --上个月
    
    IF (@mm>=1 AND @mm<=8)
        SELECT @tmpstr=CONVERT(CHAR(4),DATEPART(YEAR,GETDATE()))+'.0'+CONVERT(CHAR(1),DATEPART(MONTH,DATEADD(MONTH,1,GETDATE())))+'.'+'01' 
    ELSE IF (@mm>=9 @mm<=11)
        SELECT tmpstr=CONVERT(CHAR(4),DATEPART(YEAR,GETDATE()))+'.'+CONVERT(CHAR(2),DATEPART(MONTH,DATEADD(MONTH,1,GETDATE())))+'.'+'01' 
    ELSE
        SELECT  tmpstr=CONVERT(CHAR(4),DATEPART(YEAR,DATEADD(YEAR,1,GETDATE())))+'.0'+CONVERT(CHAR(1),DATEPART(MONTH,DATEADD(MONTH,1,GETDATE())))+'.'+'01'
        
    SELECT curmmlastday=CONVERT(CHAR(10),DATEADD(DAY,-1,@tmpstr),102) --当月最后一天
END

Page Layout Max Width

Adjust the exact value of the page width of VitePress layout to adapt to different reading needs and screens.

Adjust the maximum width of the page layout
A ranged slider for user to choose and customize their desired width of the maximum width of the page layout can go.

Content Layout Max Width

Adjust the exact value of the document content width of VitePress layout to adapt to different reading needs and screens.

Adjust the maximum width of the content layout
A ranged slider for user to choose and customize their desired width of the maximum width of the content layout can go.