sql—如果表中存在值,如何返回布尔值

62lalag4  于 2021-07-29  发布在  Java
关注(0)|答案(1)|浏览(559)

我需要为oracle数据库的审计跟踪显示一个布尔值。

SELECT 
   CASE WHEN EXISTS(select * from 
   (Select VALUE FROM v$parameter WHERE UPPER (name) = 'AUDIT_TRAIL') 
   where value in('OS','DB')  ) 
     THEN 1 
     ELSE 0  
   END 
FROM dual ;

有没有办法显示布尔值而不是1或0。值可以是os或db。

rqmkfv5c

rqmkfv5c1#

oracle sql没有布尔数据类型。
可以使用以下查询直接返回0或1,并将其用作布尔值:

Select case when count(1) > 0 then 1 else 0 end as result
FROM v$parameter WHERE UPPER (name) = 'AUDIT_TRAIL' and value in('OS','DB')

相关问题