2011-01-04 19 views

Respuesta

24

Usted está buscando la función LPAD:

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

Editar:

como ha señalado @Brad en los comentarios, usted podría también definir la columna con ZEROFILL:

`foo` INT(3) ZEROFILL 

Esto siempre produciría al menos números de 3 dígitos (sería cero-pad números de menos de 3 dígitos, y no e ffect aquellos más). Es útil si siempre necesita que los números salgan así (y no solo en una consulta) ...

+3

Como alternativa a esta respuesta (y dependiendo de su propósito) se podría añadir el atributo ZEROFILL a la columna ([véase MySQL tipos numéricos] (http://dev.mysql.com/doc/refman/5.0 /en/numeric-type-overview.html)) –

0

Si desea lograr un número mínimo de relleno, sin reducir los resultados de números más grandes, necesitará usar una declaración IF.

El siguiente ejemplo se asegurará de que todos los identificadores tienen un mínimo de tres dígitos, mientras que dejar que los identificadores más grandes todavía pasan por recortar.

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