sql >> Database >  >> RDS >> Oracle

Hoe de voorloopnullen in een aantal orakels weer te geven?

Ten eerste:Getallen hebben geen voorloopnullen . Dus wanneer u de NUMBER-waarden opslaat, laat u ze zich gedragen als NUMBER's. alleen als u ze wilt weergeven, kunt u LPAD . gebruiken en voeg de voorloopnullen toe. Die het getal omzet in een string met voorloopnullen.

U hoeft de tabel dus niet bij te werken. Gebruik LPAD om ze weer te geven zoals u dat wilt.

 SQL> WITH DATA AS
  2    ( SELECT 1 ID FROM DUAL UNION ALL
  3      SELECT 11 ID FROM DUAL
  4    )
  5  SELECT
  6     LPAD(ID,5, 0) id
  7  FROM DATA
  8  /

ID
-----
00001
00011

Gebruik TO_CHAR . om impliciete conversie van gegevenstypen te voorkomen voor het toepassen van LPAD .



  1. Wachtwoord in platte tekst verbergen met sqlplus-opdrachtregel

  2. nachtwacht aangepaste opdracht terugbellen

  3. Hoe SQL opvragen met actieve record voor datums tussen gespecificeerde tijden

  4. Fout krijgen tijdens het maken van een weergave in Oracle DB