Bei Ausgabe aus einer mysql Datenbank Zahl mit 0 ergänzen und 3 stellen abschneiden
bearbeitet von
Hallo Björn,
eine Aufbereitung für die Anzeige ist normalerweise keine Sache für die Datenbank. Eine Datenbank liefert Daten, eine Anwendung kümmert sich um die Aufbereitung.
Du hast das Thema mit mysqli getaggt. Heißt das, dass Du die Datenbank mit PHP abfragst? In dem Fall solltest Du die Aufbereitung mit PHP durchführen und die DB damit nicht behelligen.
Aber wenn Du unbedingt willst...
Deine Gemeindekennziffer steckt also in einer INT Column? Kein Problem, MYSQL ist sehr konvertierfreudig.
Ich nenne die Spalte mit der Gemeindekennziffer mal GK.
[LPAD](https://dev.mysql.com/doc/refman/5.7/en/string-functions.html#function_lpad) funktioniert gleich gut mit INT oder VARCHAR-Spalten und kann auch mit '0' auffüllen. Danach hast Du einen garantiert 7 Stellen langen String (es sei denn, deine gespeicherte Kennziffer ist größer als 9999999, dann ist er länger).
Und darauf wendest Du dann [SUBSTR oder SUBSTRING](https://dev.mysql.com/doc/refman/5.7/en/string-functions.html#function_substr) an (die sind synonym), um die ersten 5 Stellen herauszuholen.
Ohne die automatische Typkonvertierung von MYSQL müsstest Du die GK-Spalte zuerst nach CHAR konvertieren, das ginge mit [CAST(GK AS CHAR(7))](https://dev.mysql.com/doc/refman/5.7/en/cast-functions.html#function_cast)
_Rolf_
--
sumpsi - posui - obstruxi
Bei Ausgabe aus einer mysql Datenbank Zahl mit 0 ergänzen und 3 stellen abschneiden
bearbeitet von
Hallo Björn,
eine Aufbereitung für die Anzeige ist normalerweise keine Sache für die Datenbank. Eine Datenbank liefert Daten, eine Anwendung kümmert sich um die Aufbereitung.
Du hast das Thema mit mysqli getaggt. Heißt das, dass Du die Datenbank mit PHP abfragst? In dem Fall solltest Du die Aufbereitung mit PHP durchführen und die DB damit nicht behelligen.
Aber wenn Du unbedingt willst...
Deine Gemeindekennziffer steckt also in einer INT Column? Kein Problem, MYSQL ist sehr konvertierfreudig.
Ich nenne die Spalte mit der Gemeindekennziffer mal GK.
[LPAD](https://dev.mysql.com/doc/refman/5.7/en/string-functions.html#function_lpad) funktioniert gleich gut mit INT oder VARCHAR-Spalten. Danach hast Du einen garantiert 7 Stellen langen String (es sei denn, deine gespeicherte Kennziffer ist größer als 9999999, dann ist er länger).
Und darauf wendest Du dann [SUBSTR oder SUBSTRING](https://dev.mysql.com/doc/refman/5.7/en/string-functions.html#function_substr) an (die sind synonym), um die ersten 5 Stellen herauszuholen.
Ohne die automatische Typkonvertierung von MYSQL müsstest Du die GK-Spalte zuerst nach CHAR konvertieren, das ginge mit [CAST(GK AS CHAR(7))](https://dev.mysql.com/doc/refman/5.7/en/cast-functions.html#function_cast)
_Rolf_
--
sumpsi - posui - obstruxi