Ho un campo INT nella mia tabella, che vorrei selezionare come una stringa con riempimento zero. Quindi, ad esempio, 8 verrebbe come 008
, 23 come 023
e così via. È possibile in una query MySQL?Esiste un equivalente MySQL di sprintf?
risposta
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) ...
A seconda della versione di mySql che hai, puoi definire una UDF che formatta il valore per te. vedi http://dev.mysql.com/doc/refman/5.1/en/adding-functions.html.
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)
- 1. MySQL COME + PHP sprintf
- 2. Esiste un equivalente MySQL del preg_replace di PHP?
- 3. Esiste un RRDTool .net equivalente
- 4. Esiste un metodo equivalente LINQ?
- 5. Esiste un equivalente di Groovy in C#?
- 6. Esiste un equivalente di JMS in .NET?
- 7. Esiste un numero intero equivalente di __toString()
- 8. Esiste un equivalente di str_replace in C++?
- 9. Esiste un vim equivalente a '! $' Di bash?
- 10. Esiste un equivalente di "this" in powershell?
- 11. Esiste un equivalente AppCompat di Widget.Material.Spinner.Underlined?
- 12. Esiste un equivalente ColdFusion di phpinfo()
- 13. Esiste un equivalente SQLAlchemy di django-evolution?
- 14. Esiste un equivalente C++ di una NullPointerException
- 15. Esiste un equivalente Linux di SetWindowPos?
- 16. Esiste un equivalente ARM di Intel IPP?
- 17. Esiste un equivalente Python simboli di Ruby?
- 18. Esiste un NetBeans equivalente di Eclipse Workspace
- 19. Esiste un equivalente di "gettimeofday" in .NET
- 20. Esiste un equivalente binario di System.Text.StringBuilder?
- 21. Esiste un equivalente di sprint per node.js
- 22. Esiste un equivalente Flex di GWT-RPC?
- 23. Esiste un equivalente Java di SignalR?
- 24. Esiste una funzione equivalente alla funzione Oracle NVL in Mysql?
- 25. Esiste un equivalente Cake per Python?
- 26. Equivalente di RowID di Oracle in MySQL
- 27. connettersi equivalente Prima di MySQL
- 28. Collegamento database Oracle - Equivalente MySQL?
- 29. Oracle equivalente dell'aggiornamento MySQL ignora
- 30. Equivalente Python per IFNULL di MySQL
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)) –