SQL 比較時間大小


 比較字符串類型的時間大小

數據庫中的時間是varchar類型的,MySql使用CURDATE()來獲取當前日期,SqlServer通過GETDATE()來獲取當前日期

 

1. 直接使用字符串來比較

注意:要保證兩個數據的類型完全相同,否則異常

比如A:"2016-09-01",如果B數據是:"2016-9-2",那么無法進行比較

2. 通過類型轉換函數convert()

注意:要保證字符串的時間值正確,否則異常,

比如“2016-2-30”,2月沒有30號,所以在轉換的時候就會異常

CONVERT (<data_ type>[ length ], <expression> [, style])

1)data_type為SQL Server系統定義的數據類型,用戶自定義的數據類型不能在此使用。
2)length用於指定數據的長度,缺省值為30。
3)用CONVERT() 函數的style 選項能以不同的格式顯示日期和時間。style 是將DATATIME 和SMALLDATETIME 數據轉換為字符串時

所選用的由SQL Server 系統提供的轉換樣式編號,不同的樣式編號有不同的輸出格式。如果用這種方法來判斷某一個字段的話,

則存入的日期字段的字符串格式只要是能讓sql server完成對日期的轉換就可以了,而不一定要像第一種方法中的那樣嚴格。

還是說adddate字段,比如要比較它是否大於當前的日期,就可以這樣寫:where (CONVERT(varchar, adddate) >= CONVERT(varchar, GETDATE())) 。

    1. select convert(varchar(10),getdate(),120)  --獲取當前日期  
    2. SELECT CONVERT(DATE,GETDATE(),110) --獲取當前日期  
    3. SELECT CONVERT(DATETIME,GETDATE(),110) --獲取當前時間日期  
    4. SELECT CONVERT(VARCHAR(50),GETDATE(),108)  --獲取當前時刻 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM