关闭

SQL Server日期的获取与比较

标签: sql server
166人阅读 评论(0) 收藏 举报
分类:

最近做了一个小程序,是给客户试用的,需要加各种限制,我就又检查了一边,发现之前写的程序太复杂了点,想到了另外一种方法,将限制直接写在必须的存储过程中,程序做起来就轻松很多,不用作太多的获取和比较


下面用时间获取比较来进行限制示例,代码如下:

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

此处不赘述了~


差不多就是这样吧~


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:17201次
    • 积分:529
    • 等级:
    • 排名:千里之外
    • 原创:33篇
    • 转载:26篇
    • 译文:0篇
    • 评论:1条
    文章分类
    最新评论