数字到十进制sql

时间:2014-09-19 21:41:59

标签: sql oracle

无法弄清楚如何正确格式化我的gpa字段:

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 个答案:

答案 0 :(得分: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