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%