【问题标题】:Oracle SQL TO_CHAR Function return valuesOracle SQL TO_CHAR 函数返回值
【发布时间】:2017-12-13 22:36:13
【问题描述】:

我不明白为什么这两个代码结果完全相同?我想如果我有引号它只是连接字符串。为什么不是第一个是 300.5100?我知道第二个是400.5。谢谢

Select to_char('300.5' + '100') From Dual;

Select to_char(300.5 + 100) From Dual;

【问题讨论】:

    标签: sql oracle function to-char


    【解决方案1】:

    要在 SQL 中连接字符串,您必须使用 ||+ 仅用于添加数字。如果你没有通过'300.5' + '100' 你只会得到一个错误,例如以下是无效的 SQL:

    select '300.5' + '100'
    from dual;
    

    但正如to_char() 期望一个数字作为输入参数,Oracle 隐式地将这些字符串转换为数字,然后将它们相加,就像在第二个语句中一样。

    【讨论】:

      【解决方案2】:

      串联是

      'xxx' || 'yyy'
      

      您的示例允许将文字转换为数字,然后将其视为普通数字。

      【讨论】:

        猜你喜欢
        • 2013-10-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-09-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多