web-dev-qa-db-ja.com

偶数のIDを持つ行を選択します

OrderIDが偶数である特定の行を検索する単純なクエリを渡します

SELECT * 
FROM Orders 
WHERE mod(OrderID,2) = 0;

エラー:

クエリ式 'mod(OrderID、2)= 0'の構文エラー(演算子がありません)。

19
solanki kaushik

Oracleを使用していないため、モジュラス演算子を使用する必要があります。

_SELECT * FROM Orders where OrderID % 2 = 0;
_

MOD()関数は、混乱の原因となるOracleに存在します。

this SO question を参照してください。問題を説明しています。

36
Tim Biegeleisen
SELECT * FROM Orders where OrderID % 2 = 0;///this is for even numbers

SELECT * FROM Orders where OrderID % 2 != 0;///this is for odd numbers
6

MOD()関数はOracleとMySQLの両方に存在しますが、SQL Serverには存在しません。

SQL Serverで、これを試してください:

 SELECT * FROM Orders where OrderID % 2 = 0;
2
mxuanlin

-これはOracle用です

SELECT DISTINCT City FROM Station WHERE MOD(Id,2) = 0 ORDER BY City;
1
prashanth
SELECT * FROM ( SELECT *, Row_Number() 
OVER(ORDER BY country_gid) AS sdfg  FROM eka_mst_tcountry ) t 
WHERE t.country_gid % 2 = 0 
0

%を使用できるSQL Server

select * from orders where ID % 2 = 0;

これは、MysqlとOracleの両方で使用できます。 %よりもmod関数を使用する方がより愛着があります。

select * from orders where mod(ID,2) = 0
0
Arun Solomon