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

Как да добавя водеща нула в число в Oracle SQL заявка?

Можете да го направите по два начина.

Метод 1

Използване на LPAD .

Например,

SQL> WITH DATA(num) AS(
  2  SELECT 540 FROM dual UNION ALL
  3  SELECT 60 FROM dual UNION ALL
  4  SELECT 2 FROM dual
  5  )
  6  SELECT num, lpad(num, 5, '0') num_pad FROM DATA;

       NUM NUM_P
---------- -----
       540 00540
        60 00060
         2 00002

SQL>

Клаузата WITH е само за изграждане на примерни данни за демонстрация, в действителната си заявка просто направете:

lpad(removal_count, 5, '0')

Запомнете, число не може да има водещи нули . Резултатът от горната заявка е низ а не симера .

Метод 2

Използва се TO_CHAR и модел на формат:

SQL> WITH DATA(num) AS(
  2  SELECT 540 FROM dual UNION ALL
  3  SELECT 60 FROM dual UNION ALL
  4  SELECT 2 FROM dual
  5  )
  6  SELECT num, to_char(num, '00000') num_pad FROM DATA;

       NUM NUM_PA
---------- ------
       540  00540
        60  00060
         2  00002

SQL>

Актуализиране :За да избегнете допълнителното водещо пространство, което се използва за знак минус, използвайте FM в TO_CHAR формат:

Без FM:

SELECT TO_CHAR(1, '00000') num_pad,
  LENGTH(TO_CHAR(1, '00000')) tot_len
FROM dual;

NUM_PAD    TOT_LEN
------- ----------
 00001           6 

С FM:

SELECT TO_CHAR(1, 'FM00000') num_pad,
  LENGTH(TO_CHAR(1, 'FM00000')) tot_len
FROM dual;

NUM_PAD    TOT_LEN
------- ----------
00001            5


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Управлявайте парола и ресурси в Oracle с помощта на профил

  2. SQL Server 2016 на Linux

  3. ORA-20001 в R12 Съберете статистически данни за схемата на 11g(FND_HISTOGRAM_COLS)

  4. Форматирайте число като процент в Oracle

  5. Как мога да разреша ORA-00911:грешка с невалиден знак?