我有以下 SQL 案例语句。
select tracking_num,
case
when source_one is not null then source_one
else source_two
end source_value
from ...
source_one 和 source_two 是双精度的。如果我执行上面的 SQL 我返回的 source_value 列是 int 精度。
一位同事建议将 ohd_ 添加到列名的开头。
select tracking_num,
case
when source_one is not null then source_one
else source_two
end ohd_source_value
from ...
这将返回正确的值(返回的列名为“source_value”)。
ohd_ 前缀是 oracle 标准吗?我在任何地方都找不到文档。另外,有没有更好的方法来执行这种转换?也许通过使用 CAST 关键字?
预先感谢您的回复。
DB 版本:Oracle 数据库 11g 企业版版本 11.2.0.3.0 - 64 位
编辑:作为我提到的 ohd_ 前缀的后续。事实证明,这是作为解决 oracle 错误 #1312311 的方法而嵌入到我们的客户端中的。OHD 显然代表“Oracle Hack Double”。