Oracle
 sql >> база данни >  >> RDS >> Oracle

Как да подложа нули за числово поле?

Ако искате стойността да е до хилядни, но не повече от десетичната част, тогава можете да умножите по 1000 и FLOOR или използвайте TRUNC . Като това:

SELECT TO_CHAR( TRUNC( value * 1000 ), '00000009' )
FROM   table_name;

или:

SELECT LPAD( TRUNC( value * 1000 ), 8, '0' )
FROM   table_name;

Използване на TO_CHAR ще позволи само зададен максимален брой цифри въз основа на маската на формат (ако стойността надхвърля този размер, тогава ще се покаже # s вместо числа), но ще обработва отрицателни числа (поставяне на знака минус преди водещите нули).

Използване на LPAD ще позволи всякакъв размер на входа, но ако входът е отрицателен, знакът минус ще бъде в средата на низа (след всички водещи нули).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. System.InvalidCastException:Обектът не може да бъде преобразуван от DBNull към други типове

  2. ORACLE APEX - Настройка на бутон за попълване на текстово поле

  3. Не е грешка в израза GROUP BY

  4. Как да разберете дали select grant е получен директно или чрез роля

  5. Прочетете ARRAY от STRUCT, върнат от съхранена процедура