我对Sybase服务器的一个查询是返回垃圾数据。经过一些调查后,我发现其中一个数据类型为double的列导致了问题。如果我没有选择该特定列,则查询返回正确的结果。列是问题是一个双倍的小数位数。我试图使用最多4位小数的圆函数,但我仍然得到损坏的数据。如何在查询中正确指定列以获取正确的数据?
我正在使用Windows 7机箱和Sybase Adaptive Server企业驱动程序。 (Sybase客户端15.5)。我正在使用32位驱动程序。
示例结果:
在Windows 7框上使用sybase ASE驱动程序的结果不正确
"select ric_code as ric, adjusted_weight as adjweight from v_temp_idx_comp where index_ric_code='.AXJO' and ric_code='AQG.AX'"
ric adjweight
1 AQG.AX NA
2 \020 NA
3 <NA> NA
使用Merant驱动程序在Windows XP框中更正结果
"select ric_code, adjusted_weight from v_temp_idx_comp where index_ric_code='.AXJO' and ric_code='AQG.AX'"
ric_code adjusted_weight
1 AQG.AX 0.3163873547
此致 阿洛克
答案 0 :(得分:1)
您可以尝试转换为数字,如下所示:
select ric_code as ric, weight, convert(numeric(16,4), adjusted_weight) as adjweight, currency as currency
from v_temp_idx_comp
where index_ric_code='.AXJO'