prs*_*pit 3 sql t-sql sql-server sql-server-2008
我想要的是什么时候@AddressCode
是null然后只是执行
SELECT
*
FROM
Addresses
WHERE
1= 1
Run Code Online (Sandbox Code Playgroud)
如果@AddressCode不为NULL则执行
SELECT
*
FROM
Addresses
WHERE
1= 1 AND @AddressCode=Addresses.AddressCode
Run Code Online (Sandbox Code Playgroud)
我怎么能实现这个...我尝试了下面的查询,它不适用于NULL
有价值的地址或什么时候@AddressCode is NULL
....(地址只是一个虚构的表名)
Declare @AddressCode varchar(20)
Set @AddressCode=NULL
SELECT
*
FROM
Addresses
WHERE
1= 1
AND
CASE @AddressCode
WHEN NULL
THEN Addresses.AddressCode
ELSE @AddressCode
END =Addresses.AddressCode
Run Code Online (Sandbox Code Playgroud)
我努力但我无法做到...我知道我可以写IF语句并写个别选择语句但不想这样做,因为我有很多这样的标准@AddressCode
:(
Pau*_*ock 11
SELECT *
FROM
Addresses
WHERE
(@AddressCode IS NULL OR Addresses.AddressCode = @AddressCode)
Run Code Online (Sandbox Code Playgroud)