gpt4 book ai didi

Oracle - 将 Varchar 转换为 Float 并指定精度

转载 作者:行者123 更新时间:2023-12-02 20:32:50 28 4
gpt4 key购买 nike

我需要将 varchar 转换为 float 。 (varchar保证是一个数字)

我正在尝试在预先构建的表之上创建一个物化 View 。因此,所有数据类型必须完全匹配......包括数据类型的精度和大小。原始列(在添加 NVL 之前)是从精度为 126 的 FLOAT 数据类型中提取的。当我尝试将 varchar 转换为精度为 126 的浮点时,它似乎不包含 126 数据精度。/p>

(我通过使用下面的查询转换为 float(126) 创建一个标准 View 来测试它不包含 126 数据大小的事实。通过我的 Toad IDE,我可以看到“ThisorThat”的精度 float 列为 38)。

我只是用 NVL 语句更新了我的物化 View ,如下所示......

Select Cast(NVL(thisFloat, thatFloat) as Float(126)) as ThisorThat
....
From tables;

我收到错误“Ora-12060:预建表的形状与定义查询不匹配”,因为大小与我“预构建”的原始表不同。我需要以某种方式将 varchar 转换为显式大小为 126 的 float 。有什么想法吗?

版本:Oracle 10g

编辑:这是 link这基本上和我遇到的事情是一样的。

最佳答案

使用

TO_BINARY_FLOAT(mynumberstring) 

TO_BINARY_DOUBLE(mynumberstring) 

您想要做的实际上不是强制转换,而是转换。

关于Oracle - 将 Varchar 转换为 Float 并指定精度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6101638/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com