在PL / SQL中将整数连接为字符串时无需使用TO_CHAR

时间:2019-05-07 15:17:44

标签: plsql concatenation sqldatatypes

我很好奇为什么不使用TO_CHAR就可以将整数连接到字符串,如下面的示例所示:

declare
    type test_table is table of varchar2(20);

    test_session   test_table;
begin
    with
        sessions
        as
            (select 1 session_num from dual
             union
             select 2 session_num from dual),
        session_concat
        as
            (select 'Session: ' || session_num
             from dual, sessions)
    select *
    bulk collect into test_session
    from session_concat;
end;
/

级联还可以使用CONCAT关键字而不是||运算符,而且还可以声明和级联整数变量(而不是选择FROM DUAL)。

1 个答案:

答案 0 :(得分:0)

这是Oracle执行implicit data conversion的示例。

最佳实践是执行显式数据类型转换(出于本帖子注释以及链接的Oracle文档页面中讨论的原因)。