Oracle编号为十进制

时间:2011-03-05 11:02:48

标签: oracle plsql

如何在十进制中选择一个数字值,如12到12.00,而不在oracle中使用to_char?

3 个答案:

答案 0 :(得分:2)

如果您正在使用SQL * Plus,则可以通过更改列格式来格式化输出:

SQL> desc temp
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 ID                                                 NUMBER
 FIELD1                                             VARCHAR2(100)
 FIELD2                                             VARCHAR2(100)

SQL> select * from temp;

        ID FIELD1     FIELD2
---------- ---------- ----------
         1 hello      yyyy
         2 hello      yyyy

SQL> col id format 999.99
SQL> select * from temp;

     ID FIELD1     FIELD2
------- ---------- ----------
   1.00 hello      yyyy
   2.00 hello      yyyy

答案 1 :(得分:2)

您可以使用

Select To_char(ID,'9990.99') from temp

0必须格式化。如果你想要0.00值(例如:0.10,0.06),你必须在没有0的格式中放置0,它将看起来像这样.00(例如:.10,。06)。在这里查看

没有0

Select To_char(0,'999.99') from Dual

0

Select To_char(0,'9990.99') from Dual

答案 2 :(得分:1)

将其投放到NUMBER(9, 2)(9是任意的,如果你愿意,可以使用别的东西),它将采用这种形式。

但请注意,一旦将其放入应用程序中,表示形式就可以使用任何语言。如果它将该数据类型表示为float,您将获得一个浮点数,它将不再具有您想要的格式。在这种情况下,最好不要格式化它,直到数字在数据库之外。