龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 数据库类 > Sql Server开发 >

sql判断是否为今天语句

时间:2013-01-03 18:08来源:未知 作者:admin 点击:
分享到:
本自定义函数,返回BIT数据类型,如果返回1,说明指定的日期为今天日期,否则不是。自定义函数中,使用了另外一个T-SQL日期比较的函数[dbo].[DateTimeCompare](date1,date2), 代码如下 -- ==
本自定义函数,返回BIT数据类型,如果返回1,说明指定的日期为今天日期,否则不是。自定义函数中,使用了另外一个T-SQL日期比较的函数[dbo].[DateTimeCompare](date1,date2),
 代码如下

-- =============================================
-- 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

    --使用另外一个函数,比较日期函数,此函数可以参考
    IF [dbo].[DateTimeCompare](@D1,@D2) = 0
    SET @result = 1
    RETURN @result
END
GO

-- DateTimeCompare 函数 ----
--开发SQL过程中,会常常需要去比较两个日期大小。因此Insus.NET写了一个日期比较的函数,方便开发时的使用。---

 

 代码如下
CREATE FUNCTION DateTimeCompare
(
    @DT1 DATETIME,
    @DT2 DATETIME
)
RETURNS INT
AS
BEGIN
RETURN CASE
       WHEN @DT1 > @DT2 THEN 1 WHEN @DT2 > @DT1 THEN -1 ELSE 0 END
END

演示

 代码如下

SELECT [dbo].[udf_IsToday](CURRENT_TIMESTAMP) AS IsToday


精彩图集

赞助商链接