2 Stimmen

Wie erstelle ich in SQL Server 2008 eine Check-Constraint für eine Tabelle, die nur bestimmte Zeichen zulässt?

Ich möchte eine Überprüfungsbedingung für eine Tabelle in SQL 2008 erstellen, die A-Z-Zeichen (ohne Groß- und Kleinschreibung), Zahlen, Bindestrich (-), Punkt (.), Leerzeichen und Unterstrich (_) erlauben würde.
Unten ist mein aktueller Ausdruck:
([company_code] not like '%[^A-Za-z0-9_ .+]%').

Es erfüllt alle oben genannten Anforderungen, außer dem Bindestrich. Wie könnte ich den Ausdruck so ändern, dass er auch den Bindestrich zulässt?

4voto

Andomar Punkte 224164

Sie können eine ESCAPE-Klausel verwenden:

not like  '%[^A-Za-z0-9_ .+\-]%' escape '\'

Das Zeichen nach dem Escape-Zeichen wird wörtlich übereinstimmen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X