56

オプションには整数を保持する列があります。その値% 2 = 1の場合にのみ行を選択したい.

これは 2 つのクエリで実行できることはわかっていますが、1 つのクエリで実行できますか?

4

4 に答える 4

83

モジュラスとしてパーセント記号を使用する MySQL、SQL Server、PostgreSQL、SQLite のサポート:

WHERE column % 2 = 1

Oracle の場合、MOD 関数を使用する必要があります。

WHERE MOD(column, 2) = 1
于 2010-09-21T02:51:11.927 に答える
19

SQL の少なくとも一部のバージョン (Oracle、Informix、DB2、ISO 標準) は以下をサポートしています。

WHERE MOD(value, 2) = 1

MySQL は、モジュラス演算子として「%」をサポートしています。

WHERE value % 2 = 1
于 2010-09-21T02:43:58.000 に答える
2

注: 質問を誤解していたに違いないため、この回答は無視してください。

select *
  from Table
  where len(ColName) mod 2 = 1

正確な構文は、使用している SQL の種類によって異なります。

于 2010-09-21T02:49:09.290 に答える
1

select * from table where value % 2 = 1mysqlで正常に動作します。

于 2010-09-21T02:45:57.783 に答える