1. 程式人生 > >SQL Server日期的獲取與比較

SQL Server日期的獲取與比較

最近做了一個小程式,是給客戶試用的,需要加各種限制,我就又檢查了一邊,發現之前寫的程式太複雜了點,想到了另外一種方法,將限制直接寫在必須的儲存過程中,程式做起來就輕鬆很多,不用作太多的獲取和比較

下面用時間獲取比較來進行限制示例,程式碼如下:

<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()

此處不贅述了~

差不多就是這樣吧~