5
如果表中已經存在某個數字,則返回1,否則返回0。如果表中存在數字,則返回1,否則返回0
我試過的東西,但它不工作:
select
case when 100 in (select distinct id from test) then '1'
else '0'
from test
我想類似的東西存在,已經存在於PostgreSQL的功能,但不是true
和false
我想1
或0
。
如果表中已經存在某個數字,則返回1,否則返回0。如果表中存在數字,則返回1,否則返回0
我試過的東西,但它不工作:
select
case when 100 in (select distinct id from test) then '1'
else '0'
from test
我想類似的東西存在,已經存在於PostgreSQL的功能,但不是true
和false
我想1
或0
。
EXISTS
產生boolean
結果。
簡單的方法來達到你所要求的是投的結果integer
:
SELECT (EXISTS (SELECT 1 FROM test WHERE id = 100))::int;
TRUE
是1
。
FALSE
是0
。
如果您正在測試的領域是主鍵(或其他一些獨特的約束),那麼你可以簡單地返回計數(這將始終爲0或1):
SELECT count(*) FROM test WHERE id = 100;
我找到了答案: http://stackoverflow.com/questions/18309293/how-can-i-return-0-from-query-in-pgsql-if-the-row-doesnt-exist – thecoparyew 2014-11-20 17:12:35