Номер Oracle в десятичном виде - PullRequest
2 голосов
/ 05 марта 2011

Как я могу выбрать числовое значение в десятичном виде, как 12-12.00, без использования to_char в оракуле?

Ответы [ 3 ]

2 голосов
/ 05 марта 2011

Если вы используете 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
2 голосов
/ 27 ноября 2012

Вы можете использовать

Select To_char(ID,'9990.99') from temp

0 для форматирования.Если вы хотите значение 0.00 (например, 0.10,0.06), вы должны поместить 0 внутри формата без 0, это будет выглядеть так.Проверьте это здесь

Без 0

Select To_char(0,'999.99') from Dual

С 0

Select To_char(0,'9990.99') from Dual
1 голос
/ 05 марта 2011

Приведите его к NUMBER(9, 2) (9 - произвольно, используйте что-то еще, если хотите), и оно будет в этой форме.

Однако обратите внимание, что, как только вы добавите его в свое приложение, представление будетдо любого языка, который использует.Если он представляет этот тип данных как число с плавающей точкой, вы получите число с плавающей точкой, и он больше не будет иметь нужный вам формат.В этом случае лучше не форматировать его, пока номер не окажется за пределами базы данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...