为什么CAST会截断文本?

问题描述

我注意到,将文本强制转换为短于该值的长度会导致文本被截断。

select
    cast('ROAD-1234' as varchar2(8)) as id
from
    dual

ID      
--------
ROAD-123     <--Notice that the number 4 has been removed

我本以为CAST AS VARCHAR2的行为与CAST AS NUMBER类似。

select
    cast(1234 as number(3)) as id
from
    dual

Error: ORA-01438: value larger than specified precision allowed for this column

为什么CAST AS VARCHAR2会无提示地截断文本,而不是像CAST NUMBER那样引发错误?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)