sql查詢關於時間的一些彙總

2022-07-16 04:48:09 字數 1386 閱讀 5003

今天的所有資料:select * from 表名 where datediff(dd,datetime型別字段,getdate())=0

昨天的所有資料:select * from 表名 where datediff(dd,datetime型別字段,getdate())=1

7天內的所有資料:select * from 表名 where datediff(dd,datetime型別字段,getdate())<=7

30天內的所有資料:select * from 表名 where datediff(dd,datetime型別字段,getdate())<=30

本月的所有資料:select * from 表名 where datediff(mm,datetime型別字段,getdate())=0

本年的所有資料:select * from 表名 where datediff(yy,datetime型別字段,getdate())=0

查詢今天是今年的第幾天: select datepart(dayofyear,getdate())

查詢今天是本月的第幾天:1. select datepart(dd, getdate()) 

2.select day(getdate())

查詢本週的星期一日期是多少 (注意:指定日期不能是週日,如果是週日會計算到下周一去。所以如果是週日要減一天) select dateadd(wk,datediff(wk,0,getdate()),0)

查詢昨天日期:select convert(char,dateadd(dd,-1,getdate()),111)  //111是樣式號,(100-114)

查詢本月第一天日期:select dateadd(mm, datediff(mm,0,getdate()), 0) as firstday

查詢本月最後一天日期:select dateadd(ms,-3,dateadd(mm, datediff(m,0,getdate())+1, 0)) as lastday      //修改-3的值會有相應的變化

本月有多少天:select datepart(dd,dateadd(dd,-1,dateadd(mm,1,cast((cast(year(getdate()) as varchar)+'-'+cast(month(getdate()) as varchar)+'-01' ) as datetime ))))

求兩個時間段相差幾天:select datediff(day,'2012/8/1','2012/8/20') as daysum

在指定的日期上±n天:select convert(char,dateadd(dd,1,'2012/8/20'),111) as riqi    //輸出2012/8/21

在指定的日期上±n分鐘:select dateadd(mi,-15,getdate())  //查詢當前時間15分鐘之前的日期

關於時間的一些轉化

define field base second ago d秒前 define field base minute ago d分鐘前 define field base hour ago d小時前 define field base day ago d天前 define field base mon...

關於時間的一些理解

utc時間 和本地時間 世界的每個地區都有自己的本地時間,在internet 及無線電通訊時,時間的統一非常重要!整個地球分為二十四時區,每個時區都有自己的本地時間。在國際無線電通訊中,為統一而普遍使用乙個標準時間,稱為通用協調時 utc,universal time coordinated utc...

關於死鎖的一些SQL

查詢表空間 select tablespace name,file id,file name,round bytes 1024 1024 0 total space from dba data files order by tablespace name 設定表空間大小 alter database...