【问题标题】:Determine if two parameters are null, then use parameters in the where clause判断两个参数是否为null,然后在where子句中使用参数
【发布时间】:2013-03-18 06:06:49
【问题描述】:

您好,我在存储过程中收到 2 个可为空的日期参数。 @StartDate 和@EndDate。如果这两个参数为 NULL,我需要正常执行我的过程,否则 @StartDate 参数需要 >= 我的 StartDateTime 值并且 @EndDate 参数需要

    FROM DI_Intervention_Schedule S
    WHERE
        (
            @ID IS NULL
        OR  S.[ID] = @ID
        )
    AND (
            CASE @StartDate WHEN IS NOT NULL THEN
                @StartDate >= S.[StartDateTime] AND @EndDate <= S.[EndDateTime]
            END
        )

有什么帮助吗?

【问题讨论】:

    标签: sql


    【解决方案1】:

    试试下面的代码:

     FROM DI_Intervention_Schedule S
        WHERE
        (S.[ID] = @ID OR @ID IS NULL)
        AND (( S.[StartDateTime] >= @StartDate   AND S.[EndDateTime] <= @EndDate)  OR @StartDate IS NULL )
    

    【讨论】:

      猜你喜欢
      • 2011-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-10
      • 1970-01-01
      • 1970-01-01
      • 2018-09-19
      • 1970-01-01
      相关资源
      最近更新 更多