1

我有以下内容:

    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 将 Coalesce 的 int 转换为 INT?我喜欢发生的是它具有相同的价值。

我喜欢发生的事情如下:

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

我怎么能在 Coalesce 上发生这种情况?

4

1 回答 1

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
于 2012-10-12T21:04:59.933 回答