1

I have the following:

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

Note that PH_F is a float

I get the following results

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

Why does the STR convert int the Coalesce result in an INT? What I like happen is have it be the same value.

What I like happen is the following:

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

How can I have this happen with the 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 に答える