2012-05-14 76 views
0

在我的SQL查詢中有一個WHERE子句,並且想要根據是否設置@Fran變量來添加一個參數。如果設置了變量,則添加where子句參數

如果@Fran爲NULL,那麼它根本不應該過濾結果。否則,如果設置了@Fran,那麼它應該添加一個WHERE子句「AND franid = @ Fran」。我怎麼能這樣做?

回答

3
SELECT ... 
FROM ... 
WHERE ... 
AND ((@Fran IS NULL) OR (@Fran IS NOT NULL AND [email protected])); 
+0

非常感謝!工作很棒! –

0
AND IFNULL(@Fran, franid) = franid 

導致TRUE,如果@Fran是NULL(然後它基本上是franid = franid)和@Fran = franid如果它不是NULL。