Tengo un campo INT en mi tabla, que me gustaría seleccionar como una cadena sin relleno. Entonces, por ejemplo, 8 saldría como 008
, 23 como 023
y así sucesivamente. ¿Es esto posible en una consulta MySQL?¿Hay un equivalente MySQL de sprintf?
Respuesta
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) ...
Dependiendo de la versión de mySql que tenga, podría definir una UDF que formatee el valor por usted. ver http://dev.mysql.com/doc/refman/5.1/en/adding-functions.html.
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)
- 1. ¿Hay un sprintf equivalente para node.js
- 2. sprintf equivalente en Java
- 3. equivalente de Sprintf en Mathematica?
- 4. ¿Hay un equivalente de Profiler para MySql?
- 5. MySQL + PHP COMO sprintf
- 6. ¿Hay un equivalente MySQL de preg_replace de PHP?
- 7. Consulta de Mysql: date_format y sprintf()
- 8. ¿Hay un equivalente de Cake para Python?
- 9. ¿Hay MySQL equivalente al TIMESTAMP de Oracle CON HUSO HORARIO?
- 10. ¿Hay un método equivalente LINQ?
- 11. MySQL "IS IN" equivalente?
- 12. ¿Hay un equivalente de C# de m_nCmdShow?
- 13. ¿Hay un equivalente de ColdFusion de phpinfo()
- 14. ¿Hay algún equivalente para paquetes (Oracle) en MySQL?
- 15. Clojure sprintf?
- 16. generate_series() equivalente en MySQL
- 17. SPRINTF en shell scripting?
- 18. ¿Hay un equivalente Java de frexp?
- 19. ¿Hay un equivalente de JMS en .NET?
- 20. ¿Hay un equivalente de Jack para nodejs?
- 21. ¿Hay un equivalente de "gettimeofday" en .NET
- 22. ¿Hay un HKEY_Current_User equivalente de HKey_Classes_Root \ Record?
- 23. ¿Hay un equivalente binario de System.Text.StringBuilder?
- 24. ¿Hay un equivalente de Rake en Python?
- 25. ¿Hay un equivalente SQLAlchemy de django-evolution?
- 26. ¿Hay un equivalente de Make en Windows?
- 27. ¿Hay un equivalente de XDomainRequest en Firefox?
- 28. ¿Hay un equivalente de ipython para erlang?
- 29. ¿Hay un equivalente de MessageBox en WPF?
- 30. ¿Hay un equivalente de "esto" en Powershell?
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)) –