Ich versuche, ein Zwang Muster zu schreiben, die nur folgende erlaubt: eine Zeichenfolge wie folgt:SQL DB2 CHECK-CONSTRAINT MUSTER
- '+55'
- ein Leerzeichen
- eine Reihe zwischen 120 und 150
- ein Leerzeichen
- 7-9 Ziffern.
habe ich versucht, eine Menge Möglichkeiten, aber nichts davon, die Art und Weise arbeitete ich gehofft und am Ende so etwas wie dies zu tun:
ALTER TABLE KUNDENKONTAKTDATEN
ADD CONSTRAINT
VariableA_Check CHECK (
VariableA Like '+55 1[2-4][0-9] [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
Or VariableA Like '+55 1[2-4][0-9] [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
Or VariableA Like '+55 1[2-4][0-9] [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
Or VariableA Like '+55 150 [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
Or VariableA Like '+55 150 [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
Or VariableA Like '+55 150 [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
Nicht wirklich hübsch, aber gehofft, dass es funktionieren würde. Irgendwelche Vorschläge? Vielen Dank!
8-10 Ziffern nicht 7-9, mein Fehler! – Bermie
Db2 11.1 erlaubt reguläre Ausdrücke - dies würde Ihr Problem lösen, wenn Sie unter Linux, Unix oder Windows sind. Check out regexp_like - https://www.ibm.com/support/knowledgecenter/de/SSEPGG_11.1.0/com.ibm.db2.luw.sql.ref.doc/doc/r0061494.html – MichaelTiefenbacher
danke - aber ich bin Ich frage mich immer noch, warum die obige Lösung nicht funktionieren würde. – Bermie