选择具有偶数编号的行

53

我正在传递一个简单的查询,在其中搜索特定行,其中OrderID是偶数。

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

错误:

查询表达式中的语法错误(缺少运算符):“mod(OrderID,2) = 0”。


3
Oracle-Server 还是 SQL-Server?@solankikaushik - Asif Mehmood
1
对我来说,这不像是 T-SQL(MS SQL Server)- 我从未听说过 mod 函数。但是,OP 可以执行 SELECT * FROM Orders WHERE OrderID % 2 = 0 - Tim
@Malik Asif:SQL Server - solanki kaushik
前往链接:已给出答案 或查询语句为:SELECT * FROM Orders where OrderId % 2 = 0; - Asif Mehmood
@Tim:如何在MS-SQL服务器中执行此查询? - solanki kaushik
显示剩余2条评论
10个回答

95

你没有使用Oracle,所以应该使用模数运算符:

SELECT * FROM Orders where OrderID % 2 = 0;

MOD()函数存在于Oracle中,这可能让你感到困惑。

看一下这个SO问题,它讨论了你的问题。


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

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

8

在Sql Server中,我们可以使用%通配符

select * from orders where ID % 2 = 0;

这可以在Mysql和Oracle中使用。使用模函数比%更有效。

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

1
问题是关于 SQL Server,而不是 Oracle 或 MySQL。 - TT.

6

MOD()函数在Oracle和MySQL中都存在,但在SQL Server中不存在。

在SQL Server中,可以尝试使用以下方法:

 SELECT * FROM Orders where OrderID % 2 = 0;

5

--这是针对Oracle的

SELECT DISTINCT City FROM Station WHERE MOD(Id,2) = 0 ORDER BY City;

5

尝试这样做:

SELECT DISTINCT city FROM STATION WHERE ID%2=0 ORDER BY CITY;

1

对于SQL Server:

SELECT * FROM Orders where OrderID % 2 = 0; //这是用于偶数

SELECT * FROM Orders where OrderID % 2 != 0; //这是用于奇数

对于Oracle和MySQL,您必须使用MOD函数:

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


0
;With MYCTE(Empid)
As 
(
  SELECT * FROM employeeodd 
)
Select *
From MYCTE
where empid % 2 = 0;

;With MYCTE(Empid)
As 
(
  SELECT * FROM employeeodd 
)
Select *
From MYCTE
where empid % 2! = 0;

2
你的回答可以通过添加更多代码功能和如何帮助提问者的信息而得到改进。 - Jeremy Caney

0
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中,所有这些选项都可以用于MOD

SELECT * FROM CITY WHERE MOD(ID,2) = 0 ORDER BY CITY;

或者

SELECT * FROM CITY WHERE ID % 2 = 0 ORDER BY CITY;

或者

SELECT * FROM CITY WHERE ID MOD 2 = 0 ORDER BY CITY;

希望能帮到你!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接