SQL Server日期的獲取與比較
阿新 • • 發佈:2019-02-01
最近做了一個小程式,是給客戶試用的,需要加各種限制,我就又檢查了一邊,發現之前寫的程式太複雜了點,想到了另外一種方法,將限制直接寫在必須的儲存過程中,程式做起來就輕鬆很多,不用作太多的獲取和比較
下面用時間獲取比較來進行限制示例,程式碼如下:
<span style="font-size:18px;"> DECLARE @STR VARCHAR(255) DECLARE @TIME DATETIME SELECT TOP 1 @TIME =CDT FROM TFlowRecord ORDER BY CDT ASC IF DATEDIFF (day,@TIME,GETDATE()) >= 30 BEGIN SET @STR= '軟體試用期限已過,請聯絡系統工程師' END</span>
<span style="font-size:18px;">
SELECT @STR
SELECT DATEDIFF (day,@TIME,GETDATE())</span>
上面的限制是授權使用一個月,即30天,可以根據實際情況進行調整。
時間比較函式DATEIFF(UNIT,START_TIME,END_TIME)函式我是這麼理解的:
UNIT是比較單位,可以使day,week,month,year,還可以是minite,second
START_TIME是起始時間
END_TIME是期末時間
函式返回兩個時間的unit差值,型別為int,不過當單位設定的越小的時候,如unit設定為second的時候,越容易出現溢位,在這裡需要留意一下
時間獲取函式很是常用
GETDATE()
此處不贅述了~
差不多就是這樣吧~