我有一个参数为 BOOLEAN 的 PL/SQL 函数:
function get_something(name in varchar2, ignore_notfound in boolean);
此功能是第三方工具的一部分,我无法更改它。
我想在 SELECT 语句中使用这个函数,如下所示:
select get_something('NAME', TRUE) from dual;
这不起作用,我得到这个异常:
ORA-00904: "TRUE": 无效标识符
据我了解,关键字TRUE
不被识别。
我怎样才能做到这一点?
您绝对可以从 SELECT 查询中获取布尔值,只是不能使用布尔数据类型。
您可以用 1/0 表示布尔值。
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 中获取可打印的布尔值。
SELECT CASE WHEN (10 > 0) THEN 'true' ELSE 'false' END AS MY_BOOLEAN_COLUMN
FROM DUAL
这将返回字符串'true'
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)