我有一个参数为 BOOLEAN 的 PL/SQL 函数:
function get_something(name in varchar2, ignore_notfound in boolean);
此功能是第三方工具的一部分,我无法更改它。
我想在 SELECT 语句中使用此函数,如下所示:
select get_something('NAME', TRUE) from dual;
这不起作用,我收到此异常:
ORA-00904: "TRUE": invalid identifier
据我了解,关键字TRUE
无法识别。
我怎样才能做到这一点?
最佳答案
您绝对可以从 SELECT 查询中获取 bool 值,只是不能使用 bool 数据类型。
您可以用 1/0 表示 bool 值。
CASE WHEN (10 > 0) THEN 1 ELSE 0 END (It can be used in SELECT QUERY)
SELECT CASE WHEN (10 > 0) THEN 1 ELSE 0 END AS MY_BOOLEAN_COLUMN
FROM DUAL
返回,1(在 Hibernate/Mybatis/etc 中 1 为 true)。否则,您可以从 SELECT 中获取可打印的 bool 值。
SELECT CASE WHEN (10 > 0) THEN 'true' ELSE 'false' END AS MY_BOOLEAN_COLUMN
FROM DUAL
这将返回字符串'true'
。
关于sql - 如何在 SELECT 语句中使用 BOOLEAN 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1465405/