选择除以2后余数(模数)为1的行?

时间:2010-09-21 02:36:50

标签: sql database select where-clause modulus

选项中有一列包含整数。我只想在该值%2 = 1时选择行。

我知道这可以在2个查询中完成,但是可以在1中完成吗?

4 个答案:

答案 0 :(得分:76)

MySQL,SQL Server,PostgreSQL,SQLite支持使用百分号作为模数:

WHERE column % 2 = 1

对于Oracle,您必须使用MOD function

WHERE MOD(column, 2) = 1

答案 1 :(得分:18)

至少某些版本的SQL(Oracle,Informix,DB2,ISO标准)支持:

WHERE MOD(value, 2) = 1

MySQL支持'%'作为模数运算符:

WHERE value % 2 = 1

答案 2 :(得分:1)

select * from table where value % 2 = 1在mysql中工作正常。

答案 3 :(得分:1)

注意: 忽略这个答案,因为我一定误解了这个问题。

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

确切的语法取决于您正在使用的SQL的风格。