PDA

View Full Version : Datenprüfung



HPKahn
06-06-06, 10:22
Hallo zusammen,

hier ein neues Problem:
Datenimport vom Host, abhängig vom Dateninhalt sollen Felder gesplittet werden.
Beispiel:
1111 7777 oder 11112233337777
FELD 1 = 1111
FELD 2 = ' ' oder 22
FELD 3 = ' ' oder 3333
FELD 4 = 7777

ist der Feldinhalt aber
z.B. VL V. 15.02.06, BTX 600000000 oder 51 /ERST CCBA etc.
soll keine Splittung erfolgen

meine Idee ist jetzt
keine Splittung wenn die Länge <> 14 ist, hier gibts aber jetzt das Problem mit VL V. 15.02.06(14-stellig), hier würde ich jetzt prüfen auf Numerischen Inhalt.
Die CAST-Funktion bringt leider nicht das gewünschte Ergebnis(wegen evtl. Leerzeichen). Nun würde ich den ganzen String nach Zahlen untersuchen und evtl. Leerzeichen nicht mit berücksichtigen), d.h tritt ein alphanumerisches Zeichen außer Leerzeichen auf, muss nicht gesplittet werden.

Und jetzt die eigentliche Frage:
Wie kann ich eine entsprechende SQL-UDF definieren die diese Prüfung macht bzw. welche SQL-Funktion kann ich verwenden ?

Vielen Dank im voraus
MfG HP Kahn

Fuerchau
06-06-06, 10:27
Z.B.:
case
when lenght(trim(replace(myfield, '0123456789', '__________'))) = 0 then -- Numerisch

_ = Leerzeichen
Ersetze alle Ziffern durch Blank(Replace) , entferne alle blanks (Trim) und prüfe die Länge.