我有一个场景,我必须将varchar
列转换为number
列。在这样做时,我收到错误invalid number
。调试后,一些值具有空格,一些其他值输入为56.678.90
。以下是我尝试将varchar
转换为number
的查询,
select cast('45.56.78' as number) from dual
或
select cast (' ' as number) from dual
我在上述查询中输入的值都位于表'lddfc'
中的列entry_header
下。列lddfc
的记录为456.99
,456.89.43
和空白。如何将这些值显示为number
?
答案 0 :(得分:0)
您还没有提到您正在使用的SQL变体,但如果它是T-SQL,您可以使用LTRIM(RTRIM(yourValue))
删除前导和尾随空格。不确定PL / SQL的语法。
所以你的代码是select cast(LTRIM(RTRIM('45.56.78')) AS NUMBER) FROM DUAL
我不认为您可以将'45.56.78'
转换为数字但不删除其中一个小数点。