sql server 可选参数: between 子句的语法

2021-09-10 00:00:00 tsql sql-server
@FromDate datetime = null
@ToDate datetime = null

SELECT * FROM TABLE
WHERE ....
AND [PI].Date BETWEEN @FromDate AND @ToDate

当任何日期为空时,不显示记录.如果任何日期为空,我可以获得所有记录的正确语法是什么.

When any date is null, the records are not displayed. What is the correct syntax so that I can get all records if any of the dates are null.

我想到了这个:

@FromDate datetime = '01/01/1901',
@ToDate datetime = '12/31/9999'

谢谢.

推荐答案

尝试类似的事情

SELECT * FROM TABLE 
WHERE .... 
AND [PI].Date BETWEEN ISNULL(@FromDate, [PI].Date) AND ISNULL(@ToDate, [PI].Date)

相关文章