2011-01-04 12 views

Odpowiedz

24

Szukacie funkcji LPAD:

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

Edit:

Jak podkreślił @Brad w komentarzach, można również zdefiniować kolumnę ZEROFILL:

`foo` INT(3) ZEROFILL 

To zawsze generuje co najmniej 3 cyfry (liczby zerowe mają mniej niż 3 cyfry, a nie e skażcie tych więcej). Przydaje się, jeśli zawsze potrzebujesz numerów, aby wyjść w ten sposób (I nie tylko w jednym zapytaniu) ...

+3

Jako alternatywę dla tej odpowiedzi (oraz zależności swój cel) można dodać atrybut ZEROFILL do kolumny ([patrz MySQL typy numeryczne] (http://dev.mysql.com/doc/refman/5.0 /en/numeric-type-overview.html)) –

0

Jeśli chcesz osiągnąć minimalną liczbę wypełnień bez przecinania wyników większych liczb, musisz użyć instrukcji IF.

Poniższy przykład sprawi, że wszystkie identyfikatory będą miały co najmniej trzy cyfry, podczas gdy większe identyfikatory będą nadal przesyłane przez nieodwracane.

SELECT IF(id < 100, LPAD(id, 3, 0), id) 
Powiązane problemy