我对 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
问候, 阿洛克