VB6 SQL Umgang mit Feld Postleitzahl als Integer - keine führende 0 möglich
sql und die postleitzahlen ...
spreche unter vb6 mittels sql befehlen eine access db an unf habe hier schon lange eine spalte PLZ als Typ Integer in der Datenbank. Ursprünglich habe ich das posleitzhalen feld als integer erstellt, da ich auch mal auswertungen machen wollte wo der postleitzahlenbereich hätte zwischen einem Bereich X und Y hätte sein können und das als Typ integer echt klasse war.
Nun aber schon lange das vernachlässigte Problem, dass wenn mal eine Postleitzhal beim anlegen mit einer 0 anfängt, diese dann nicht so gespeichert wird, da der datenbank feld typ ja integer und nicht string ist.
wie geht ihr mit so einem feld um? legt ihr das immer als string an?, wenn ja:
-wie macht man dann solche sql abfragen mit select blabla where postleitzahl > XXXX and Postleitzahl < YYYYY ??
-kann man solch eine spalte wo schon werte drin sind nachträglich ändern/umwandeln?
spreche unter vb6 mittels sql befehlen eine access db an unf habe hier schon lange eine spalte PLZ als Typ Integer in der Datenbank. Ursprünglich habe ich das posleitzhalen feld als integer erstellt, da ich auch mal auswertungen machen wollte wo der postleitzahlenbereich hätte zwischen einem Bereich X und Y hätte sein können und das als Typ integer echt klasse war.
Nun aber schon lange das vernachlässigte Problem, dass wenn mal eine Postleitzhal beim anlegen mit einer 0 anfängt, diese dann nicht so gespeichert wird, da der datenbank feld typ ja integer und nicht string ist.
wie geht ihr mit so einem feld um? legt ihr das immer als string an?, wenn ja:
-wie macht man dann solche sql abfragen mit select blabla where postleitzahl > XXXX and Postleitzahl < YYYYY ??
-kann man solch eine spalte wo schon werte drin sind nachträglich ändern/umwandeln?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 186218
Url: https://administrator.de/contentid/186218
Ausgedruckt am: 23.11.2024 um 05:11 Uhr
8 Kommentare
Neuester Kommentar
Hallo boesi666.
Ich verstehe das Problem nicht. Wenn du die PLZ als Integer ablegst, fehlen logischerweise führende Nullen. Welches Problem hast du damit? Entsprechende Abfragen dann eben auch als Integerwert. Und falls du mal für eine Ausgabe (damit es schöner aussieht) die Nullen brauchst hängst du sie (nach Konvertierung/Casting zum String) wieder davor. So what?
Grüße
rubberman
Ich verstehe das Problem nicht. Wenn du die PLZ als Integer ablegst, fehlen logischerweise führende Nullen. Welches Problem hast du damit? Entsprechende Abfragen dann eben auch als Integerwert. Und falls du mal für eine Ausgabe (damit es schöner aussieht) die Nullen brauchst hängst du sie (nach Konvertierung/Casting zum String) wieder davor. So what?
Grüße
rubberman
Hallo boesi666.
Da du das in einer Access Datenbank tun willst, kannst du es per Hand an einer neuen Datenbanktabelle durchkauen. Natürlich kannst du das Format der Spalte ändern (einfach in die Entwurfsansicht gehen und probieren). Das bringt dir aber im Zweifelsfall nichts für die bereits vorhandenen Daten. Immerhin fehlt da die vorangestellte Null im Wert und die wird auch nicht wie durch Zauberhand wieder erscheinen.
Grüße
rubberman
Da du das in einer Access Datenbank tun willst, kannst du es per Hand an einer neuen Datenbanktabelle durchkauen. Natürlich kannst du das Format der Spalte ändern (einfach in die Entwurfsansicht gehen und probieren). Das bringt dir aber im Zweifelsfall nichts für die bereits vorhandenen Daten. Immerhin fehlt da die vorangestellte Null im Wert und die wird auch nicht wie durch Zauberhand wieder erscheinen.
Grüße
rubberman
Also mir fällt keine sinnvolle Verwendung von
PLZs sind ja regional untergliedert:
3xxxx Mitteldeutschland
34xxxx Großraum Kassel
usw.
Also wäre eine Sinnvolle Abfrage nach PLZ um z.B. Leute aus einer Region zu finden
Natürlich kann man sich damit auch prima in den Fuß schießen (genauso wie bei Zahlen auch), da z.B. 37xxx und 99xxx direkt aneinander liegen was aus der Zahl nicht ersichtlich ist.
Wenn du also Abfragen nach Region machen willst brauchst du viel eher Geo-Daten.
plz > X and plz < Y
ein.PLZs sind ja regional untergliedert:
3xxxx Mitteldeutschland
34xxxx Großraum Kassel
usw.
Also wäre eine Sinnvolle Abfrage nach PLZ um z.B. Leute aus einer Region zu finden
plz LIKE '34%'
.Natürlich kann man sich damit auch prima in den Fuß schießen (genauso wie bei Zahlen auch), da z.B. 37xxx und 99xxx direkt aneinander liegen was aus der Zahl nicht ersichtlich ist.
Wenn du also Abfragen nach Region machen willst brauchst du viel eher Geo-Daten.