判断指定一个日期,是否为今天。
本自定义函数,返回BIT数据类型,如果返回1,说明指定的日期为今天日期,否则不是。自定义函数中,使用了另外一个T-SQL日期比较的函数[dbo].[DateTimeCompare](date1,date2),此函数详细可参考http://www.cnblogs.com/insus/archive/2011/06/24/2089005.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.cnblogs.com/insus/archive/2011/06/24/2089005.html
IF [dbo].[DateTimeCompare](@D1,@D2) = 0
SET @result = 1
RETURN @result
END
GO
Demo:
SELECT [dbo].[udf_IsToday](CURRENT_TIMESTAMP) AS IsToday
Result: