如果在WHERE条款

时间:2012-11-16 03:52:09

标签: mysql sql if-statement

您好我该如何使这个查询工作。我想在where子句上有条件,如果@BACHNUMB ='', 然后WHERE是(h.sopnumbe = @SOPNUMBE)Else WHERE是(h.bachnumb = @BACHNUMB)。提前谢谢。

WHERE
CASE(@BACHNUMB)
WHEN '' THEN (h.sopnumbe = @SOPNUMBE)
ELSE
(h.bachnumb = @BACHNUMB)
END

2 个答案:

答案 0 :(得分:4)

只需通过不同的语法重新创建逻辑:

WHERE
(@BACHNUMB = '' AND h.sopnumbe = @SOPNUMBE) 
OR
(@BACHNUMB != '' AND h.bachnumb = @BACHNUMB)
END

答案 1 :(得分:2)

(@BACHNUMB = '' and h.sopnumbe = @SOPNUMBE) or (@BACHNUMB != ' and 'h.bachnumb = @BACHNUMB)