Oracle SQL - 将select count(*)转换为零或一

kri*_*ick 2 sql oracle binary boolean count

我正在使用Oracle,我希望将结果从选择计数转换为"二进制"0/1值... 0 = 0 ...非零= 1.从我在线阅读,在MS SQL中,您可以将其转换为"位",但Oracle似乎不支持这一点.

这是我的简单示例查询(真正的查询要复杂得多).我希望MATCH_EXISTS始终为0或1.这可能吗?

select count(*) as MATCH_EXISTS 
from MY_TABLE 
where MY_COLUMN is not null;
Run Code Online (Sandbox Code Playgroud)

Hog*_*gan 6

这应该是最快的...最多获得一行.

SELECT COUNT(*) AS MATCH_EXISTS
FROM MY_TABLE 
WHERE MY_COLUMN IS NOT NULL
  AND rownum <= 1;
Run Code Online (Sandbox Code Playgroud)