I SQLite kan vi använda PRINTF()
funktion eller FORMAT()
funktion för att formatera tal med inledande nollor.
Exempel
SELECT PRINTF('%03d', 7);
Resultat:
007
Procenttecknet (%
) indikerar att en substitution följer.
0
indikerar att SQLite ska lägga till så många 0
tecken till numeriska ersättningar efter behov för att utöka värdet till den angivna bredden.
d
indikerar att argumentet är ett heltal med tecken som visas i decimal (i motsats till hexadecimal, oktal, etc).
Så om vi ville ha fler inledande nollor kan vi öka 3
till ett större antal:
SELECT PRINTF('%09d', 7);
Resultat:
000000007
För heltal kan vi inkludera ett kommatecken för gruppavgränsaren:
SELECT PRINTF('%0,9d', 72345);
Resultat:
000,072,345
FORMAT()
Funktion
SQLite 3.38.0 (släppt 22 februari 2022) döpte om PRINTF()
funktion till FORMAT()
. Den ursprungliga PRINTF()
namnet behålls som ett alias för bakåtkompatibilitet.
Därför kan det första exemplet ovan ändras till detta:
SELECT FORMAT('%2d%%', 17);
Resultat:
17%