在SQL中關於時間日期的操作

2021-06-17 00:16:56 字數 1788 閱讀 7766

有段時間一直使用sql獲取不同的日期時間,這是那段時間留下的一些零散筆記,在此分享;

如果有更全的,希望您能補充,謝謝!

--獲取當前時間

select getdate();

--獲取當前年月日

select convert(varchar(10),getdate(),120);

--獲取當前年月

select convert(varchar(7),getdate(),120);

--獲取上個月的值

select month(dateadd(month,-1,getdate()));

select (month(getdate())+10)%12+1

--帶上年

select replace(substring(convert(varchar(32),dateadd(month,-1,getdate()),120),1,7),'-','-')

select convert(varchar(7),dateadd(month,-1,getdate()),120)

select replace(convert(varchar(7),dateadd(month,-1,getdate()),120),'-','年')+'月'

select datediff( second, '2009-8-25 12:15:12', '2009-9-1 7:18:20') --返回相差秒數

select datediff( minute, '2009-9-1 6:15:12', '2009-9-1 7:18:20') --返回相差分鐘數

select datediff( day, '2009-8-25 12:15:12','2009-9-1 7:18:20')--返回相差的天數

select datediff( hour, '2009-8-25 12:15:12', '2009-9-1 7:18:20')--返回相差的小時

--求兩個時間的相差的分鐘數

select convert(int,datediff(day, '2009-8-25 12:15:12', '2009-9-1 7:18:20')*24*60)+convert(int,datediff(hour,'2009-8-25 12:15:12','2009-9-1 7:18:20')*60)+convert(int,datediff(minute, '2009-9-1 6:15:12', '2009-9-1 7:18:20'))

--根據輸入的秒數以時分秒的形式顯示出來

declare @alls int

declare @s varchar(2)

declare @h varchar(2)

declare @m varchar(2)

declare @v varchar(30)

set @alls = '90'

select @h = convert(varchar(2),@alls/3600)

if (len(@h) = 1)

set @h = '0'+@h

select @m = convert(varchar(2),(@alls - @h*3600)/60)

if (len(@m) = 1)

set @m = '0'+@m

select @s = convert(varchar(2),(@alls - @h*3600 - @m*60))

if (len(@s) = 1)

set @s = '0'+@s

select @v = @h+':'+@m +':'+@s

print(@v)

oralce關於時間日期的操作

1.日期時間間隔操作 當前時間減去7分鐘的時間 select sysdate,sysdate interval 7 minute from dual 當前時間減去7小時的時間 select sysdate interval 7 hour from dual 當前時間減去7天的時間 select sy...

SQL時間日期處理

1.當前系統日期 時間 select getdate 2.dateadd 在向指定日期加上一段時間的基礎上,返回新的 datetime 值 例如 向日期加上2天 select dateadd day,2,2004 10 15 返回 2004 10 17 00 00 00.000 3.datediff...

SQL時間日期總結

1.時間型別 datetime 8 bytes yyyy mm dd hh mm ss 1000 01 01 00 00 00 9999 12 31 23 59 59 timestamp 4 bytes yyyy mm dd hh mm ss 1970 01 01 00 00 01 2038 dat...