带有OR条件的MySQL WHERE

时间:2012-09-03 05:46:38

标签: php mysql sql where

MySQL上有这个快捷方式吗?

WHERE month = 'January' OR month = 'January' OR month = 'February' OR month = 'March' OR month = 'April' OR month = 'May' OR month = 'June' 

我试过这个,但它似乎不起作用,

WHERE month = '(January || February || March || April || May || June)'

任何帮助?

4 个答案:

答案 0 :(得分:4)

回答你的问题:

WHERE `month` IN ('January', 'February', 'March', 'April', 'May', 'June');

在php中

$months = array('January', 'February', 'March', 'April', 'May', 'June');
$sql .= "WHERE `month` IN ('".implode("', '", $months)."')";

除此之外:在存储日期(例如月份)时,最好将它们存储为整数值,而不是字符串。这将有助于性能,I18N,如果使用int值,则可以使用BETWEEN

WHERE `month` BETWEEN 1 AND 6

答案 1 :(得分:3)

是的,你可以使用IN条款。像这样:

WHERE month in ('January','February','March','April','May','June')

答案 2 :(得分:2)

使用IN子句。

WHERE `month` IN ('January','February','March','April', 'May','June')

查看month中的反引号?它会转义关键字 month ,因为存在一个名为 Month( ) 的内置函数

答案 3 :(得分:2)

尝试..

WHERE month IN ('January', 'February', 'March', 'April', 'May', 'June');