gpt4 book ai didi

sql - Oracle:将字符串转换为 double

转载 作者:行者123 更新时间:2023-12-05 00:18:16 25 4
gpt4 key购买 nike

这是我对数据库拉取的查询:

SELECT DISTINCT
TEMPLATE_GROUP_PROPERTIES.PROPERTYTYPE,
PROPERTY.PROPERTYVAL

FROM
TEMPLATE_GROUP_PROPERTIES

LEFT OUTER JOIN PROPERTY_DATA
ON (TEMPLATE_GROUP_PROPERTIES.PROPERTYGROUPID = PROPERTYDATA.PROPERTYGROUPID)

WHERE
PROPERTY.PROPERTYVAL = :propValue

创建数据库的人制作了 Property.Propertyval column 当它表示为科学记数法数字(4.0E-3、2.0E2 等)时定义为字符串的列。我需要以任何可行的方式将字符串转换为 double 或 double 转换为字符串,但我不知道如何操作。我试过搞乱 TO_NUMBER()功能,到目前为止没有找到任何帮助。

最佳答案

如果你真的知道字符串是一个有效的数字,那么使用 cast() :

WHERE cast(property.propertyval as float) = :propValue

一些警告。

首先,使用该函数会阻止查询使用 propertyval 上的索引。 .如果需要索引,您始终可以创建功能索引。

其次,当值非常接近时,浮点值的比较可能会出现问题。你可能会考虑:
WHERE abs(cast(property.propertyval as float) - :propValue) < 0.001

或者其他一些阈值。

关于sql - Oracle:将字符串转换为 double ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20614813/

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