本文**:http://www.cnblogs.com/feison/articles/166981.html
sql server中對日期欄位的比較方式有多種,介紹幾種常用的方式:
用northwind庫中的employees表作為用例表。
1.between...and語句的使用:
說明:between...and用於指定測試範圍
看以下例項:
執行sql語句「select hiredate from employees」顯示結果如下:
hiredate
1992-05-01 00:00:00.000
1992-08-14 00:00:00.000
1992-04-01 00:00:00.000
1993-05-03 00:00:00.000
1993-10-17 00:00:00.000
1993-10-17 00:00:00.000
1994-01-02 00:00:00.000
1994-03-05 00:00:00.000
1994-11-15 00:00:00.000
從以上結果集中搜尋出hiredate在"1993-10-17"到"1994-01-02"的記錄,則sql語句如下:
select hiredate
from employees
where hiredate between cast('1993-10-17' as datetime) and cast('1994-01-02' as datetime)
執行該語句後結果如下:
hiredate
1993-10-17 00:00:00.000
1993-10-17 00:00:00.000
1994-01-02 00:00:00.000
以上sql語句中出現between...and和cast,其中cast是型別轉換函式:在該例中將字串轉換成日期型值.
在where中用between...and把"1993-10-17"到"1994-01-02"的記錄搜尋出來.
2.兩個日期值的比較大小可以用< <= > >=運算子,和datediff函式
datediff函式:datediff ( datepart , startdate , enddate )
datepart的取值可以是year,quarter,month,dayofyear,day,week,hour,minute,second,millisecond
startdate 是從 enddate 減去。如果 startdate 比 enddate 晚,返回負值。
看以下例項:
搜尋hiredate的值在"1993-05-03"後的記錄,該sql語句如下:
select hiredate
from employees
where datediff(day,cast('1993-05-03' as datetime),hiredate) >0
執行該語句後結果如下:
hiredate
1993-10-17 00:00:00.000
1993-10-17 00:00:00.000
1994-01-02 00:00:00.000
1994-03-05 00:00:00.000
1994-11-15 00:00:00.000
因此datediff(day,cast('1993-05-03' as datetime),hiredate)是把hiredate的值按"day"減去cast('1993-05-03' as datetime)
的值.通過判定相減後值的正負來判定日期的先後
袁華慧 編寫
mysql對日期的操作 MySql對日期的操作
1 計算倆個日期之間所差的天數 2 計算日期是這週的星期幾 select dayofweek 2018 09 18 1.因為外國一般都是把星期天認為是一周的開始,所以用這種方法一般都得減去一天才是這週的星期幾 2.這種方法是直接獲取當天是週幾 s,s 兩位數字形式的秒 00,01,59 i 兩位數字...
Android中對日期進行排序
最近在專案中需要將讀取的資料按照時間的降序進行排序。具體的步驟如下 1.讀取資料,存入list中 2.取出資料中的時間戳,由string轉換成date 3.使用氣泡排序對list中元素按照date進行排序 具體 如下 將list按照時間倒序排列 suppresslint dateformat pri...
sqlite中對日期的操作
在android中使用sqlite時,日期處理比較特殊,網上找了很多種方法,試驗出一種相對來說比較合適的 把日期型別作為integer建表,在插入資料庫時,用new date gettime 存入,取出時,再轉為date型別date date new date cursor.getlong i 取某...