SQL中甚至是奇怪的

1 sql t-sql sql-server select

这是表结构

id
1
2
3
4
5
6
Run Code Online (Sandbox Code Playgroud)

我需要这样的结果

id  even  odd
1   0     1
2   1     0
3   0     1
4   1     0
5   0     1
6   1     0
Run Code Online (Sandbox Code Playgroud)

我试过了

select id %2=0 then 1 else 0 end or id%2 <>0 then 1 else 0 odd 
from table
Run Code Online (Sandbox Code Playgroud)

Ale*_* K. 9

怎么样

select 
  id, 
  ~id & 1, 
  id & 1 
from t
Run Code Online (Sandbox Code Playgroud)

  • 哇 !但你需要解释它是如何工作的!~id&1 (3认同)
  • 如果数字的低位设置为奇数,则设置为偶数。(http://stackoverflow.com/a/5700927/246342) `~` 只是按位求反,将 1/0 反转以获得正确的结果。 (2认同)