如何在sybase查询中更改列的数据类型?

时间:2012-05-08 10:05:00

标签: sql sybase-ase

我对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

此致 阿洛克

1 个答案:

答案 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'