sql >> Databáze >  >> RDS >> Oracle

Jak přidat úvodní nulu do čísla v dotazu Oracle SQL?

Můžete to udělat dvěma způsoby.

Metoda 1

Pomocí LPAD .

Například,

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>

Klauzule WITH slouží pouze k vytvoření ukázkových dat pro ukázku, ve skutečném dotazu udělejte:

lpad(removal_count, 5, '0')

Pamatujte, číslo nemůže obsahovat počáteční nuly . Výstupem výše uvedeného dotazu je řetězec a nikoli číslo .

Metoda 2

Pomocí TO_CHAR a model formátu:

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>

Aktualizovat :Chcete-li se vyhnout nadbytečné mezerě na začátku, která se používá pro znaménko mínus, použijte FM v TO_CHAR formát:

Bez FM:

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

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

S FM:

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

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


  1. Připojení RStudio k serveru SQL

  2. Jak získá datum mms z content://mms.

  3. Připojení 32bitové aplikace k jBASE

  4. Nelze zkrátit tabulku, protože na ni odkazuje omezení FOREIGN KEY - SQL Server / Výukový program TSQL, část 70