sql server中對日期欄位值的比較
sql server中對日期欄位值的比較
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)
的值.通過判定相減後值的正負來判定日期的先後
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)
的值.通過判定相減後值的正負來判定日期的先後
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-623972/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- sql server日期比較SQLServer
- oracle sql日期比較:OracleSQL
- MySQL中NULL欄位的比較問題MySqlNull
- SQL中欄位比較型別不匹配錯誤:‘cannot be cast to’SQL型別AST
- sql server中對時間日期的操作SQLServer
- SQL Server 中調整自增欄位的當前初始值zzSQLServer
- 細說SQL SERVER中欄位型別SQLServer型別
- 檢視oracle資料庫中,哪些表的欄位是null值比較多Oracle資料庫Null
- MySQL把字串欄位轉換為日期型別進行比較MySql字串型別
- SQL Server複製的表中如何修改欄位SQLServer
- SQL Server語句刪除帶有預設值的欄位SQLServer
- Oracle dblink比較兩個庫中的表欄位Oracle
- 確定幾個SQL Server欄中的最大值SQLServer
- 比較所有的欄位型別型別
- sql server對於日期的處理SQLServer
- 如何處理sql server中的image型別的欄位?SQLServer型別
- SQL Server 自增欄位重置SQLServer
- 解決SQL Server中CHAR欄位空格問題SQLServer
- SQL Server中根據某個欄位,ID欄位自動增長的實現SQLServer
- 在SQL Server中修改欄位型別和欄位名稱的儲存過程SQLServer型別儲存過程
- SQL Server中獲取資料庫名、表名、欄位名和欄位註釋的SQL語句SQLServer資料庫
- SQL server中的NULL值SQLServerNull
- 新增欄位對SQL的影響SQL
- js比較日期JS
- SQL server 與Oracle開發比較SQLServerOracle
- SQL 獲取SQL Server中兩個日期之間的所有日期SQLServer
- sql設定欄位預設值SQL
- Oracle與SQL Server在企業應用中的比較(轉)OracleSQLServer
- SAP CDS view 如何將 CHAR 型別的資料欄位和當前系統日期比較View型別
- SQL server中的日期變數縮寫SQLServer變數
- sql server如何檢視欄位註釋?SQLServer
- sql server 2005中的分割槽函式用法(partition by 欄位)SQLServer函式
- 在VC中用OLE DB讀寫SQL Server中的BLOB欄位 (轉)SQLServer
- java比較日期大小Java
- js比較日期 - JavaScriptJSJavaScript
- oracle 比較日期相等Oracle
- EJBQL中關於日期型資料的比較
- sql server日期格式 sqlserver的日期格式SQLServer