2

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

4 に答える 4

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
于 2012-09-03T05:55:17.660 に答える
3

INはい、そのために句を使用できます。このような:

WHERE month in ('January','February','March','April','May','June')
于 2012-09-03T05:47:36.220 に答える
2

IN句を使用します。

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

のバックティックを参照してくださいmonthMonth( )という組み込み関数が存在するため、キーワードmonthをエスケープします。

于 2012-09-03T05:47:34.707 に答える