Oracle SQL TO_CHAR 函数返回值
Posted
技术标签:
【中文标题】Oracle SQL TO_CHAR 函数返回值【英文标题】:Oracle SQL TO_CHAR Function return values 【发布时间】: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;
【问题讨论】:
【参考方案1】:要在 SQL 中连接字符串,您必须使用 ||
。 +
仅用于添加数字。如果你没有通过'300.5' + '100'
你只会得到一个错误,例如以下是无效的 SQL:
select '300.5' + '100'
from dual;
但正如to_char()
期望一个数字作为输入参数,Oracle 隐式地将这些字符串转换为数字,然后将它们相加,就像在第二个语句中一样。
【讨论】:
【参考方案2】:串联是
'xxx' || 'yyy'
您的示例允许将文字转换为数字,然后将其视为普通数字。
【讨论】:
以上是关于Oracle SQL TO_CHAR 函数返回值的主要内容,如果未能解决你的问题,请参考以下文章
将 Oracle SQL 转换为 OBIEE Evaluate/TO_CHAR 函数