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

Ase*_*tam 3 t-sql sql-server

@FromDate datetime = null
@ToDate datetime = null

SELECT * FROM TABLE
WHERE ....
AND [PI].Date BETWEEN @FromDate AND @ToDate
Run Code Online (Sandbox Code Playgroud)

当任意日期为空时,不显示记录。正确的语法是什么,以便我可以在任何日期为空时获取所有记录。

我想过这个:

@FromDate datetime = '01/01/1901',
@ToDate datetime = '12/31/9999'
Run Code Online (Sandbox Code Playgroud)

谢谢。

Adr*_*der 5

尝试类似的东西

SELECT * FROM TABLE 
WHERE .... 
AND [PI].Date BETWEEN ISNULL(@FromDate, [PI].Date) AND ISNULL(@ToDate, [PI].Date)
Run Code Online (Sandbox Code Playgroud)