PDA

View Full Version : SQL - Bitte helft mir!



neuling_
12-05-04, 15:52
Hallo!

Ich habe eine SQL Datenbank in der unter anderem folgende Spalten in der Tabelle "motestdta" sind: Eine Spalte "POLZ" (CHAR - Länge 10) und eine Spalte GTAG (DATE)

in der Spalte Polz sind Postleitzahlen gespeichert, vorerst nur deutsche, deswegen habe ich kein reines zahlenfeld genommen, da kommt evtl noch was anderes mit hinein. Das soll auch alles so bleiben. Jedenfalls habe ich jetzt eine Übungsaufgabe bekommen, an der ich noch die Wände hochgehe:

-Das Geburtsjahr entspricht der 3. und 4. Stelle der Postleitzahl zuzüglich
1900.

-Der Geburtsmonat ergibt sich aus der Quersumme der ersten beiden Ziffern.

-Wenn diese Summe größer als 12 ist muß 12 abgezogen werden.
Der Geburtstag errechnet sich aus der Quersumme der letzten 3 Ziffern.

Kann mir vielleicht jemand helfen, bevor ich noch durchdrehe?

Fuerchau
12-05-04, 19:15
Schöne Aufgabe, aber nicht unbedingt geeignet für SQL:

select
dec(substr(polz, 3, 2)) + 1900 as Jahr,
case
when dec(substr(polz, 1, 1) + dec(substr(polz, 2, 1)) > 12
then dec(substr(polz, 1, 1) + dec(substr(polz, 2, 1)) - 12
else dec(substr(polz, 1, 1) + dec(substr(polz, 2, 1))
end as Monat,
dec(substr(polz, 5, 1) + dec(substr(polz, 6, 1)) + dec(substr(polz, 7, 1)) as Tag
from motestdta

den Rest must du dann selber machen.
insbesonders: wie stellst du sicher dass auch 7 Zahlen drinstehen ?

neuling_
13-05-04, 07:10
Vielen Dank, werde ich später gleich mal testen, das war meine Rettung!
Danke nochmal!

Neuling