gpt4 book ai didi

sql - Sybase 将问题从 float 转换为 varchar

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

首先,我需要提到我当前的 sybase db 版本是 Adaptive Server Enterprise 12.5.4 .我的目标是将浮点数据类型转换为 varchar通过 sybase 转换函数以 concat其中几种变量,格式和存储在字符串类型中。

不幸的是,事实并非如此。只需使用 convert(varchar(20), float_var)cast()函数无法正确返回精确值。

例如,...

declare @float_var float
begin
select @float_var =345.1237 --from table actually
select convert(varchar(20),@float_var) --return 345.1236999999
end

偶尔返回的错误字符串结果有 9999900001后缀。

我尝试了许多功能,包括指定精度,但仍有几种情况无法解决。 sybase 内部函数并不完全适用于它。

我想这是使用 Sybase DB 时的普遍问题,但是在 serach 中找到的答案很少。在我过去的经验中,Sybase 存储过程游戏玩家在运行时和内部修复遇到错误时总是有一定的容忍度。这个问题让我对 Sybase 内部的工作方式感到困惑。任何建议将不胜感激,提前致谢。

最佳答案

对此有几种可能的解决方案。

首先,让我们尝试先将浮点数转换为十进制,然后再转换为 varchar。

select cast(cast(@float_var as decimal(13,4)) as varchar)

或者,这就是我的 ASE 内存可能让我失望的地方,可以像这样使用 STR 函数:
Select ltrim(str(@float_var, 25, 5))

您必须将输出修剪为 STR 函数在结果左侧填充空格

关于sql - Sybase 将问题从 float 转换为 varchar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14638758/

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