写了一个自定义函数,判断指定一个日期,是否为今天。
本函数,返回BIT数据类型,如果返回1,说明指定的日期为今天日期,否则不是。自定义函数中,使用了另外一个T-SQL日期比较的函数。[dbo].[DateTimeCompare](date1,date2),此函数详细内容可以参考:http://www.jb200.com/article/4360.html
函数:udf_IsToday
-- =============================================
-- Author: Insus.NET
-- Create date: 2012-03-22
-- Description: 判断输入的日期是否为今天。返回BIT数据类型,1是,0不是。
-- =============================================
CREATE FUNCTION [dbo].[udf_IsToday](@datetime DATETIME)
RETURNS BIT
AS
BEGIN
--把用户输入的日期转为DATE数据类型
DECLARE @D1 AS DATE = CAST(@datetime AS DATE)
--把当前时间转为DATE数据类型
DECLARE @D2 AS DATETIME = CAST(CURRENT_TIMESTAMP AS DATE)
DECLARE @result INT = 0
--使用另外一个函数,比较日期函数,此函数可以参考 http://www.jb200.com/article/4360.html
IF [dbo].[DateTimeCompare](@D1,@D2) = 0
SET @result = 1
RETURN @result
END
GO
演示:
输出结果,如下图所示: