SQL Coalesce STR导致INT

时间:2012-10-12 21:01:54

标签: sql sql-server-2008

我有以下内容:

    Select tp.PH_F pHF, COALESCE(STR(tp.pH_F), tp.pH_S) pH
     From tblprod tp

请注意,PH_F是浮点数

我得到以下结果

PHF    PH
---    ---
7.256   7
7.59   8

为什么STR在INT中转换Coalesce结果?我喜欢的是它具有相同的价值。

我喜欢的是以下内容:

PHF    PH
---    ---
7.256   7.256
7.59   7.59

如何通过Coalesce实现这一目标?

1 个答案:

答案 0 :(得分:2)

您需要告诉它您需要多少小数位。 STR功能默认为0.查看http://msdn.microsoft.com/en-us/library/ms189527.aspx

您可能希望将代码更改为:

Select tp.PH_F pHF, COALESCE(STR(tp.pH_F, 5, 2), tp.pH_S) pH
     From tblprod tp