存储过程中日期参数的SQL通配符

时间:2018-01-29 11:43:05

标签: sql-server date stored-procedures wildcard

我有一个带有单个参数@date

的存储过程

该过程是select语句,其中包含:

where dateTimeGmt between @date and dateadd(dd,9,@date)

我希望能够使用表格中的所有日期调用此过程并获取所有结果。

@date设为%NULL%-%-%无效。

如果没有where传递参数,是否有一种优雅的方法让程序忽略exec子句?

1 个答案:

答案 0 :(得分:2)

  

我希望能够调用此过程并获得所有结果   使用表格中的所有日期。

     

将@date设置为%或NULL或% - % - %不起作用。

%comparision仅适用于字符串类型,而不适用于日期

  

是否有一种优雅的方法让程序忽略那里   如果没有与exec一起传递参数的子句?

尝试更改where子句,如下所示。

where (dateTimeGmt between @date and dateadd(dd,9,@date) ) or @date  IS NULL