SQL DATEDIFF語法及時間函式

2021-08-31 15:38:58 字數 3281 閱讀 8488

sql datediff語法及時間函式 sql 查詢當天、本週、本月記錄

select*frominfowheredatediff(dd,datetime,getdate())=0   

--查詢24小時內的:

select*frominfowheredatediff(hh,datetime,getdate())<=24   

--info為表名,datetime為資料庫中的字段值

--查詢當天:

select * from info where datediff(dd,datetime,getdate())=0

--查詢24小時內的:

select * from info where datediff(hh,datetime,getdate())<=24

--info為表名,datetime為資料庫中的字段值

sql** powered by chenjiazi

--查詢當天記錄另類的方法

select*   

fromj_gradeshop   

where(gaddtime between

convert(datetime, left(getdate(), 10) + ' 00:00:00.000')   

andconvert(datetime, left(getdate(), 10) + ' 00:00:00.000') + 1)   

orderbygaddtimedesc

--查詢當天記錄另類的方法

select *

from j_gradeshop

where (gaddtime between convert(datetime, left(getdate(), 10) + ' 00:00:00.000')

and convert(datetime, left(getdate(), 10) + ' 00:00:00.000') + 1)

order by gaddtime desc

datediff 函式:

語法:

datediff ( datepart , startdate , enddate )

備註:

enddate 減去 startdate。如果 startdate 晚於 enddate,則返回負值。

如果結果超出整數值範圍,則 datediff 將產生錯誤。對於毫秒,最大數是 24 天 20 小時 31 分鐘零 23.647 秒。對於秒,最大數是 68 年。

跨分鐘、秒和毫秒等邊界計算的方法使得 datediff 指定的結果在所有資料型別中均一致。結果是帶正負號的整數值,它等於跨第乙個和第二個日期間的 datepart 邊界數。例如,在 1 月 4 日(星期日)和 1 月 11 日(星期日)之間的星期數是 1。

可以再mssql中測試:

sql**

--兩個時間差剛好是24

--列印的方式

print datediff(hh,'2009-1-1 0:0:0','2009-1-2 0:0:0')   

--查詢的方式

print datediff(hh,'2009-1-1 0:0:0','2009-1-2 0:0:0')  

--兩個時間差剛好是24

--列印的方式

print datediff(hh,'2009-1-1 0:0:0','2009-1-2 0:0:0')

--查詢的方式

print datediff(hh,'2009-1-1 0:0:0','2009-1-2 0:0:0')

sql**

--本月記錄

select*fromwheredatediff(month,[dateadd],getdate())=0   

--本週記錄

select*fromwheredatediff(week,[dateadd],getdate())=0   

--包括本年這些查詢方式是一樣的

--本月記錄 

select * from 表 where datediff(month,[dateadd],getdate())=0

--本週記錄

select * from 表 where datediff(week,[dateadd],getdate())=0

--包括本年這些查詢方式是一樣的

sql server中的時間函式

1.   當前系統日期、時間

select getdate()  

2. dateadd   在向指定日期加上一段時間的基礎上,返回新的 datetime 值

例如:向日期加上2天

select dateadd(day,2,'2004-10-15')   --返回:2004-10-17 00:00:00.000

3. datediff 返回跨兩個指定日期的日期和時間邊界數。

select datediff(day,'2004-09-01','2004-09-18')    --返回:17

4. datepart 返回代表指定日期的指定日期部分的整數。

select datepart(month, '2004-10-15')   --返回 10

5. datename 返回代表指定日期的指定日期部分的字串

select datename(weekday, '2004-10-15')   --返回:星期五

6. day(), month(),year() --可以與datepart對照一下

select 當前日期=convert(varchar(10),getdate(),120)

,當前時間=convert(varchar(8),getdate(),114)

select datename(dw,'2004-10-15')

select 本年第多少周=datename(week,'2004-10-15')

,今天是週幾=datename(weekday,'2004-10-15')

sql datediff 計算時間差

有關datediff的相應資訊,見如下 datediff datepart startdate enddate datepart 是指定所跨邊界型別的 startdate 和 enddate 的一部分。下表列出了所有有效的 datepart 引數。使用者定義的變數等效項是無效的。datepart 縮...

web 及時通訊

關於輪詢方式web及時通訊的簡單總結 http 1.1開始支援keep alive,keep alive指的是客戶端和伺服器建立一次tcp連線後,可以在這個連線上發生多次 http request response,但由於http協議本身是無狀態的,所以每次發生http請求時仍都要進行http 頭部...

及時更改 即點即該 搜尋分頁 及時更改

document ready function 及時更改 else get function data id type checkbox name check value fd adress kd age nclick fun 刪除 td dblclick function function dat...