2014-09-19 67 views
-1

想不通怎麼我的GPA正確字段格式:數爲十進制SQL

select y.id, 
     max(case when y.r = 1 then y.gpa_c end) gpa 
    from table y 

電流輸出:

ID | GPA 
----+------ 
392 |  0 
399 | 3.234 
400 |  4 
401 | 3.6 

我試過cast()convert()decimal()to_char()2, 3

我想要格式化所有東西0.000

+1

使用'TO_CHAR()' – 2014-09-19 21:44:48

回答

2

您可以使用to_char()

TO_CHAR(column, '0d9999') 

在您的查詢:

select y.id, 
     TO_CHAR(max(case when y.r = 1 then y.gpa_c end), '0d9999') gpa 
    from table y 

強制性注意:最好保留用於顯示目的,大多數數字不應該被存儲爲字符串。

已更新爲正確顯示0 gpa的前導零。

演示:SQL Fiddle

+0

行情是什麼讓我。謝謝。 – 2014-09-19 21:46:47

+0

有沒有辦法在使用這些新發現的小數時保留數字類型? – 2014-09-19 21:50:11

+0

不會,這會將其更改爲字符串。此外它似乎並不適用於0 – 2014-09-19 21:58:32