How to set If condition in Where clause in Sql

痞子三分冷 提交于 2019-12-13 00:36:51

问题


I want to display a criteria having multiple conditions, but if any condition is null or not having any value than how to set in where clause. Example:

where
SR.fk_Designation_ID = @pk_Designation_ID
and SR.fk_SeniorityCategory_ID = @pk_SeniorityCategory_ID
and SR.IsCurrent_Appointment = 1 and SR.fk_SeparationType_ID is null
order by Senority_Joining_For_Order,E.Date_Of_Birth

here if @pk_SeniorityCategory_ID is null than I don't want to include the and SR.fk_SeniorityCategory_ID = @pk_SeniorityCategory_ID condition in where clause.


回答1:


Try this:

WHERE
SR.fk_Designation_ID = @pk_Designation_ID
AND (@pk_SeniorityCategory_ID IS NULL 
     OR 
     SR.fk_SeniorityCategory_ID = @pk_SeniorityCategory_ID)
AND SR.IsCurrent_Appointment = 1 AND SR.fk_SeparationType_ID IS NULL
ORDER BY Senority_Joining_For_Order,E.Date_Of_Birth


来源:https://stackoverflow.com/questions/10909442/how-to-set-if-condition-in-where-clause-in-sql

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!