选择 id 为偶数的行
Posted
技术标签:
【中文标题】选择 id 为偶数的行【英文标题】:Select Rows with id having even number 【发布时间】:2016-05-08 18:01:58 【问题描述】:我正在传递一个简单的查询,我正在搜索 OrderID
是偶数的特定行
SELECT *
FROM Orders
WHERE mod(OrderID,2) = 0;
错误:
查询表达式 'mod(OrderID,2) = 0' 中的语法错误(缺少运算符)。
【问题讨论】:
Oracle-Server 或 SQL-Server ?? @solankikaushik 在我看来不像 T-SQL (MS SQL Server) - 我没有听说过mod
函数。不过,我认为 OP 可以做到 SELECT * FROM Orders WHERE OrderID % 2 = 0
。
@Malik Asif : Sql 服务器
转到链接:Already given answer 或查询是:SELECT * FROM Orders where OrderId % 2 = 0;
@Tim : 如何在 ms-sql 服务器中执行此查询?
【参考方案1】:
你没有使用Oracle,所以你应该使用模运算符:
SELECT * FROM Orders where OrderID % 2 = 0;
MOD()
函数存在于 Oracle 中,这是您困惑的根源。
查看this SO question 讨论您的问题。
【讨论】:
【参考方案2】:SELECT * FROM Orders where OrderID % 2 = 0;///this is for even numbers
SELECT * FROM Orders where OrderID % 2 != 0;///this is for odd numbers
【讨论】:
【参考方案3】:MOD() 函数存在于 Oracle 和 MySQL 中,但不存在于 SQL Server 中。
在 SQL Server 中,试试这个:
SELECT * FROM Orders where OrderID % 2 = 0;
【讨论】:
【参考方案4】:我们可以使用Sql Server %
select * from orders where ID % 2 = 0;
mysql 和 oracle 都可以使用。 使用mod函数比%更喜欢。
select * from orders where mod(ID,2) = 0
【讨论】:
问题是关于 SQL Server,而不是 Oracle 或 MySQL。【参考方案5】:--这是给oracle的
SELECT DISTINCT City FROM Station WHERE MOD(Id,2) = 0 ORDER BY City;
【讨论】:
【参考方案6】:试试这个:
SELECT DISTINCT city FROM STATION WHERE ID%2=0 ORDER BY CITY;
【讨论】:
【参考方案7】:对于 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
【讨论】:
【参考方案8】:SELECT * FROM ( SELECT *, Row_Number()
OVER(ORDER BY country_gid) AS sdfg FROM eka_mst_tcountry ) t
WHERE t.country_gid % 2 = 0
【讨论】:
以上是关于选择 id 为偶数的行的主要内容,如果未能解决你的问题,请参考以下文章
Java中SnowFlake 雪花算法生成全局唯一id中的问题,时间不连续全为偶数解决