我需要将varchar转换为float。 (该varchar保证是一个数字)Oracle - 将Varchar转换为Float并指定精度
我试图在预建表的顶部创建一个物化视图。因此,所有数据类型必须完全匹配......包括数据类型的精度和大小。原始列(在添加NVL之前)是从FLOAT数据类型以126的精度拉取的。当我尝试将varchar转换为精度为126的浮点数时,它似乎不包含126数据精度。我通过创建一个标准视图来测试它不包含126数据大小,下面的查询将其转换为float(126)。通过我的Toad IDE,我可以看到“ThisorThat “浮柱是38)。
我只是更新我的物化视图,象这样一个NVL声明...
Select Cast(NVL(thisFloat, thatFloat) as Float(126)) as ThisorThat
....
From tables;
我得到的错误“ORA-12060:预先建立的表的形状不符合定义查询”,因为尺寸不同于我“预先构建”的原始表格。我需要以某种方式将varchar转换为显式大小为126的浮动。任何想法?
版本:Oracle 10g的
编辑: 这里有一个link这基本上是我遇到同样的事情。