比较来自参数的两个日期的条件,如果满足则添加
Condition to COMPARE TWO DATE From parameter and ADD if it Satisfies
这是我的程序,我在程序中从 到 date
我必须检查 FROM 和 TO 日期之间的差异是否大于 2
如果条件满足我必须添加 2days in from days 并将其设置为 TODATE
ALTER PROCEDURE [dbo].[sp_TU_AvgStdDev_Report]
@FromDate as Datetime,
@ToDate as Datetime,
@RecipeCode as Varchar(8000),
@Grade as Varchar(10),
@WcID as Int
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
SET NOCOUNT ON;
IF (condition to check if @FromDate - @ToDate > 2)
--if it satisfies
SET @ToDate to @fromDate+2Days
请帮我弄清楚...
IF DATEDIFF(D,@FromDate,@ToDate) > 2
BEGIN
--if it satisfies
SET @ToDate = DATEADD(D,2, @fromDate)
END
首先将日期中的时间部分转换为日期,如
convert(date,convert(varchar,@FromDate))
convert(date,convert(varchar,@ToDate))
那么你将只有日期,然后你可以使用 DATEDIFF sql 函数找出两个日期之间的差异
最终解决方案
IF DATEDIFF(day,convert(date,convert(varchar,@FromDate)),convert(date,convert(varchar,@ToDate))) > 2
BEGIN
--if it satisfies
SET @ToDate = DATEADD(day,2, convert(date,convert(varchar,@FromDate)))
END
你应该使用 DateDiff
使用以下查询可能对您有所帮助。
if( Datediff(day, Todate, FromDate) > 2)
// Your query
为此您需要使用日期函数。
ALTER PROCEDURE [dbo].[sp_TU_AvgStdDev_Report]
@FromDate as Datetime,
@ToDate as Datetime,
@RecipeCode as Varchar(8000),
@Grade as Varchar(10),
@WcID as Int
AS
BEGIN
IF (datediff(day,@FromDate,@ToDate)>2)
SET @ToDate = DATEADD(day,2, @fromDate)
这是我的程序,我在程序中从 到 date 我必须检查 FROM 和 TO 日期之间的差异是否大于 2
如果条件满足我必须添加 2days in from days 并将其设置为 TODATE
ALTER PROCEDURE [dbo].[sp_TU_AvgStdDev_Report]
@FromDate as Datetime,
@ToDate as Datetime,
@RecipeCode as Varchar(8000),
@Grade as Varchar(10),
@WcID as Int
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
SET NOCOUNT ON;
IF (condition to check if @FromDate - @ToDate > 2)
--if it satisfies
SET @ToDate to @fromDate+2Days
请帮我弄清楚...
IF DATEDIFF(D,@FromDate,@ToDate) > 2
BEGIN
--if it satisfies
SET @ToDate = DATEADD(D,2, @fromDate)
END
首先将日期中的时间部分转换为日期,如
convert(date,convert(varchar,@FromDate))
convert(date,convert(varchar,@ToDate))
那么你将只有日期,然后你可以使用 DATEDIFF sql 函数找出两个日期之间的差异
最终解决方案
IF DATEDIFF(day,convert(date,convert(varchar,@FromDate)),convert(date,convert(varchar,@ToDate))) > 2
BEGIN
--if it satisfies
SET @ToDate = DATEADD(day,2, convert(date,convert(varchar,@FromDate)))
END
你应该使用 DateDiff 使用以下查询可能对您有所帮助。
if( Datediff(day, Todate, FromDate) > 2)
// Your query
为此您需要使用日期函数。
ALTER PROCEDURE [dbo].[sp_TU_AvgStdDev_Report]
@FromDate as Datetime,
@ToDate as Datetime,
@RecipeCode as Varchar(8000),
@Grade as Varchar(10),
@WcID as Int
AS
BEGIN
IF (datediff(day,@FromDate,@ToDate)>2)
SET @ToDate = DATEADD(day,2, @fromDate)