當前位置:首頁 » 編程語言 » mybatissql時間

mybatissql時間

發布時間: 2023-08-23 23:43:51

① SQL語句中怎樣比較兩個日期的大小

慣例,在等號左邊盡量不要有對欄位的運算,所以一般用法有:

1、判斷其是否在某個日期區間:
Where CheckDate Between '2013-01-01' And '2013-01-31'
這個方法也可用於加幾天是多少,或減幾天是多少:
把起迄日期參數化,原CheckDate要加的,那就變成@BeginDate加,減也同理~

2、判斷其是否大於某天:
Where CheckDate >'2013-01-01' 或大於等於:Where CheckDate >='2013-01-01'
小於某天
Where CheckDate <'2013-01-01' 或小於等於:Where CheckDate <='2013-01-01'

3、判斷其是否等於某天:
如果Check欄位不帶時間,只是年月日,那直接等於就可以了;
Where CheckDate ='2013-01-01'

如果CheckDate欄位是攜帶時間的就會有差別;這一點,在上述所有方法中都需要注意
eg:CheckDate 實際存儲值可能是: 20130101 08:50:54:000 或 20130101 22:50:54:000
這時直接用上面的等號是抓不到的,因此或改寫成:
Where CheckDate >= '2013-01-01' And CheckDate < '2013-01-02'
當然也可以把'2013-01-01',定義為參數@Date DateTime
Where CheckDate >= @Date And CheckDate < @Date+1

不建議在等號左邊使用函數或計算對表欄位進行計算。

以上是兩個日期的判斷,另外有些日期處理函數可以了解一下:

DATEDIFF ( datepart , startdate , enddate )
返回指定的 startdate 和 enddate 之間所跨的指定 datepart 邊界的計數(帶符號的整數)。
eg:
Select DateDiff(DAY,'20130101','20130105')
1號到5號相差4天,輸出結果為4

常用的datepart 有:
datepart 縮寫
year yy, yyyy 年
month mm, m 月
day dd, d 日
week wk, ww 周
hour hh 時
minute mi, n 分
second ss, s 秒

DATEADD(datepart, number, date)

將表示日期或時間間隔的數值與日期中指定的日期部分相加後,返回一個新的 DT_DBTIMESTAMP 值。number 參數的值必須為整數,而 date 參數的取值必須為有效日期。
eg:
Select DATEADD(DAY,1,'20130101')
1號加1天就是2號;輸出結果為 『2013-01-02』
Number可以是負數就變成減幾天

DATEADD(datepart, number, date)

將表示日期或時間間隔的數值與日期中指定的日期部分相加後,返回一個新的 DT_DBTIMESTAMP 值。number 參數的值必須為整數,而 date 參數的取值必須為有效日期。
eg:
Select DATEPART(DAY,'20130101')
返回datepart描述的部分,輸出結果為 1

熱點內容
windowsxp伺服器搭建ftp 發布:2025-03-15 23:17:52 瀏覽:312
2014年資料庫工程師 發布:2025-03-15 23:07:42 瀏覽:245
創見存儲卡質量怎麼樣 發布:2025-03-15 23:07:37 瀏覽:304
蘋果2g和安卓哪個快 發布:2025-03-15 22:52:48 瀏覽:713
airpods怎麼連接安卓手機 發布:2025-03-15 22:47:11 瀏覽:295
安卓已經刪除的app在哪裡找 發布:2025-03-15 22:42:09 瀏覽:434
海量照片存儲 發布:2025-03-15 22:23:07 瀏覽:163
androidgif控制項 發布:2025-03-15 22:10:51 瀏覽:339
我的世界手機版非常好玩的伺服器推薦 發布:2025-03-15 22:04:48 瀏覽:179
怎樣解壓手機文件 發布:2025-03-15 22:04:47 瀏覽:526