select *
from ticket
where date1>=
dateadd(dd,-1,
'2010-04-02')and date1<=
dateadd(dd,1,
'2010-04-02')
其中date1為日期字段,dateadd為日期函式,2010-04-02為要查詢的指定日期
注意:
日期計算不能直接用加減數字,要用dateadd函式
查詢結果
1 2010-04-01 00:00:00.000 beijing 500
2 2010-04-02 00:00:00.000 beijing 400
3 2010-04-03 00:00:00.000 beijing 600
dateadd函式解釋:
在向指定日期加上一段時間的基礎上,返回新的datetime值。語法
dateadd(datepart,number,date
)
引數datepart
是規定應向日期的哪一部分返回新值的引數。下表列出了 microsoft® sql server™ 識別的日期部分和縮寫。
日期部分
縮寫yearyy, yyyy
quarterqq, q
monthmm, m
dayofyeardy, y
daydd, d
weekwk, ww
hourhh
minutemi, n
secondss, s
millisecondms
number
是用來增加 datepart 的值。如果指定乙個不是整數的值,則將廢棄此值的小數部分。例如,如果為 datepart 指定day,為 number 指定1.75,則 date 將增加 1。
date
是返回datetime或smalldatetime值或日期格式字串的表示式。有關指定日期的更多資訊,請參見 datetime 和 smalldatetime。
如果您只指定年份的最後兩位數字,則小於或等於"兩位數年份截止期"配置選項的值的最後兩位數字的數字所在世紀與截止年所在世紀相同。大於該選項的值的最後兩位數字的數字所在世紀為截止年所在世紀的前乙個世紀。例如,如果two digit year cutoff為 2049(預設),則 49 被解釋為 2049,2050 被解釋為 1950。為避免模糊,請使用四位數的年份。
返回型別
返回datetime,但如果 date 引數是smalldatetime,返回smalldatetime。
示例
此示例列印出pubs資料庫中標題的時間結構的列表。此時間結構表示當前發布日期加上 21 天。
use pubs
goselect dateadd(day, 21, pubdate) as timeframe
from titles
go
下面是結果集:
timeframe
---------------------------
jul 3 1991 12:00am
jun 30 1991 12:00am
jul 21 1991 12:00am
jul 13 1991 12:00am
jun 30 1991 12:00am
jul 9 1991 12:00am
mar 14 1997 5:09pm
jul 21 1991 12:00am
jul 3 1994 12:00am
mar 14 1997 5:09pm
nov 11 1991 12:00am
jul 6 1991 12:00am
oct 26 1991 12:00am
jul 3 1991 12:00am
jul 3 1991 12:00am
nov 11 1991 12:00am
jul 3 1991 12:00am
jul 3 1991 12:00am
(18 row(s) affected)
mysql查詢指定日期資料
查詢今天 select from 表名 where to days 時間欄位名 to days now 昨天 select from 表名 where to days now to days 時間欄位名 1 7天 select from 表名 where date sub curdate inter...
指定日期的前後幾天的日期或者月份
但是這種也不算是很完美 按照下標擷取還是很不保險 測試的時候就發現 有人傳 2021 6 2 這種不是標準格式的。所以有第二種方式。獲取指定日期的前幾天或月份的日期 param past return public static string getpastdate int past,string ...
sql查詢指定日期前n天資料
查詢2019 08 28前7天的記錄,包括2019 08 28 select from a where timestampdiff day,a.create time,2019 08 28 7 and timestampdiff day,a.create time,2019 08 28 0擴充套件 ...