2011-01-04 22 views

risposta

24

Siete alla ricerca per la funzione LPAD:

SELECT LPAD(23, 3, '0'); -- '023' 

Edit:

Come sottolineato da @Brad nei commenti, si potrebbe anche definire la colonna con ZEROFILL:

`foo` INT(3) ZEROFILL 

Ciò produrrebbe sempre almeno 3 numeri di cifre (Sarebbe zero numeri di pad a meno di 3 cifre, e non e li ffetto di più). È utile se hai sempre bisogno che i numeri escano in quel modo (e non solo in una query) ...

+3

In alternativa a questa risposta (e, a seconda il vostro scopo) si potrebbe aggiungere l'attributo ZEROFILL alla colonna ([vedi MySQL tipi numerici] (http://dev.mysql.com/doc/refman/5.0 /en/numeric-type-overview.html)) –

0

Se si desidera ottenere un numero minimo di padding, senza tagliare i risultati di numeri più grandi, sarà necessario utilizzare una dichiarazione IF.

L'esempio seguente si accerterà che tutti gli ID abbiano un minimo di tre cifre, pur lasciando passare gli ID più grandi non tagliati.

SELECT IF(id < 100, LPAD(id, 3, 0), id) 
Problemi correlati