T-SQL判断一个日期是否为今天的函数

发布时间:2020-03-27编辑:脚本学堂
写了一个自定义函数,判断指定一个日期,是否为今天。

写了一个自定义函数,判断指定一个日期,是否为今天。

本函数,返回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

演示:

复制代码 代码如下:
SELECT [dbo].[udf_IsToday](CURRENT_TIMESTAMP) AS IsToday

输出结果,如下图所示:
istoday