SQL 常用的獲取時間差的sql語句

2021-06-13 14:17:05 字數 2993 閱讀 3447

常用的獲取時間差的sql語句

select cast(floor(datediff(minute,時間1,時間2) / 1440) as varchar)+'天'+

cast(floor((datediff(minute,時間1,時間2) % 1440)/60) as varchar)+'小時'+ 

cast(((datediff(minute,時間1,時間2))-

(floor(datediff(minute,時間1,時間2) / 1440) *1440)-

(floor((datediff(minute,時間1,時間2) % 1440)/60)*60)) as varchar)+'分'

from 表名

剛才測試了一下:結果如下

"select count(*) from [註冊] where datediff(day,time,getdate())<1";//獲取當天註冊人員數

sql="select id,classid,classname,xiaoshoue,xiaoshou,jinhuo,kucun,addtime " 

sql=sql&" from xiaoshou where addtime between '" & format(starttime,"yyyy-mm-dd") & "' and '" & format(endtime,"yyyy-mm-dd") & "'" 

sql=sql&" order by id desc" 

select fylb,pm,gg,dw,dj,sl,je from cqyzypzx where zxdate between and  

近兩個星期 

sql="select * from table where datediff(week,riqi,getdate())<=2" 

近三個月 

sql="select * from table where datediff(month,riqi,getdate())<=3" 

近一年 

sql="select * from table where datediff(year,riqi,getdate())<=1" 

參考以下日期寫法

---求相差天數

select datediff(day,'2004-01-01',getdate())

轉貼:--1.乙個月第一天的

select dateadd(mm, datediff(mm,0,getdate()), 0)

--2.本週的星期一

select dateadd(wk, datediff(wk,0,getdate()), 0)

select dateadd(wk,datediff(wk,0,getdate()),6)

--3.一年的第一天

select dateadd(yy, datediff(yy,0,getdate()), 0)

--4.季度的第一天

select dateadd(qq, datediff(qq,0,getdate()), 0)

--5.當天的半夜

select dateadd(dd, datediff(dd,0,getdate()), 0)

--6.上個月的最後一天

select dateadd(ms,-3,dateadd(mm, datediff(mm,0,getdate()), 0))

--7.去年的最後一天

select dateadd(ms,-3,dateadd(yy, datediff(yy,0,getdate()), 0))

--8.本月的最後一天

select dateadd(ms,-3,dateadd(mm, datediff(m,0,getdate())+1, 0))

--9.本年的最後一天

select dateadd(ms,-3,dateadd(yy, datediff(yy,0,getdate())+1, 0))

--10.本月的第乙個星期一

select dateadd(wk,

datediff(wk,0,dateadd(dd,6-datepart(day,getdate()),getdate())), 0)

--查詢本週註冊人數

select count(*) from [user]

where datediff(week,create_day-1,getdate())=0

--上週註冊人數

select count(*) from [user]

where datediff(week,create_day-1,getdate())=1

--本月註冊人數

select count(*) from [user]

where datediff(month,create_day,getdate())=0

--上月註冊人數

select count(*) from [user]

where datediff(month,create_day,getdate())=1

--如果要效率,這樣寫查詢

--查詢本週註冊人數

select count(*) from [user]

where create_day>=dateadd(day,2-datepart(weekday,getdate()),convert(varchar,getdate(),112))

and create_day=dateadd(day,-5-datepart(weekday,getdate()),convert(varchar,getdate(),112))

and create_day=dateadd(day,1-day(getdate()),convert(varchar,getdate(),112))

and create_day=dateadd(month,-1,dateadd(day,1-day(getdate()),convert(varchar,getdate(),112)))

and create_day

獲取時間差的sql語句

select count from 註冊 where datediff day,time,getdate 1 獲取當天註冊人員數 sql select id,classid,classname,xiaoshoue,xiaoshou,jinhuo,kucun,addtime sql sql from ...

SQL 求時間差

前兩天在寫程式的時候,為了計算兩個日期相差的天數,真是大費周折啊,我才開始 的時候想的是把 時間格式轉換為 long 型,後來一想,不對進製不同啊,後來我想到了資料庫,用 sql2005 中的datediff 函式,問題是解決了,可是每次都得和資料庫互動啊!終於同事的乙個大哥交 了乙個方法,這個方法...

SQL計算時間差

語法 datediff 開始時間,結束時間 釋義 datediff可以計算開始時間與結束時間的時間差,結果是天數 栗子 語法 timestampdiff 時間粒度,開始時間,結束時間 釋義 1 時間粒度引數 2 second 秒 計算開始時間與結束時間相差的秒數。4 minute 分 計算開始時間與...