plsql – 将Boolean转换为Varchar2

前端之家收集整理的这篇文章主要介绍了plsql – 将Boolean转换为Varchar2前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个示例代码,我正在尝试打印布尔值.
它导致了错误.

wrong number or types of arguments in call to ‘PUT_LINE’

wrong number or types of arguments in call to ‘TO_CHAR’

DECLARE
    status BOOLEAN:= false;
    BEGIN
      DBMS_OUTPUT.PUT_LINE(status);
      DBMS_OUTPUT.PUT_LINE(to_char(status));
    END;

通过错误消息,很明显布尔不能以两种方式(隐式,显式)转换为字符.

为什么不可能呢?

他们有什么具体的原因吗?或Oracle只是忘记了这种类型的转换(它极不可能).

他们还有其他任何转换方式吗?或者我是否必须使用IF或CASE语句来猜测状态.

看来你不能连接varchar和boolean.

定义此功能

CREATE OR REPLACE FUNCTION BOOLEAN_TO_CHAR(STATUS IN BOOLEAN)
RETURN VARCHAR2 IS
BEGIN
  RETURN
   CASE STATUS
     WHEN TRUE THEN 'TRUE'
     WHEN FALSE THEN 'FALSE'
     ELSE 'NULL'
   END;
END;

并像这样使用它:

DBMS_OUTPUT.PUT_LINE('status'|| BOOLEAN_TO_CHAR(status));

猜你在找的Oracle相关文章