2016-05-12 13 views
1

Ich habe eine MS SQL-Abfrage, auf der ich CASE STATEMENT verwende. Wie unten -SQL Server Wählen Sie Abfragevalidierungen

In der obigen Abfrage verwende ich CASE STATEMENT, um Validierung auf Typ Feld. Ich verwende Länge und erforderliche Feldvalidierungen in der Abfrage.

Aber LEN (Typ)> 1 funktioniert nicht. Es ist

zeigt falsche Syntax.

Kann jemand vorschlagen, wie ich es verwenden kann und auch, wie wir eine Funktion in CASE STATEMENT aufrufen können.

+2

ersetzen 'CASE Typ WHEN' mit' CASE WHEN' – Lamak

+0

ja es mit CASE arbeiten, wenn aber was ist mit anderen Zustand (erforderlich) Validierung? Können Sie die Syntax für beide vorschlagen? –

+1

Sie könnten nach der richtigen Syntax suchen: 'CASE WHEN LEN ([Typ])> 1 DANN 'LENGHT EXCEED' WENN [Type] = '' THEN 'Typ ist erforderlich' WENN [Type] IS NULL THEN 'Type ist erforderlich "ELSE" "ENDE" – Lamak

Antwort

3

Versuchen Sie, diese

CASE WHEN LEN(Type) > 1 
     THEN 'LENGHT EXCEED' 
     WHEN Type = '' 
     THEN 'Type is required' 
     WHEN Type IS NULL 
     THEN 'Type is required' 
     ELSE 
    END 
+1

danke es funktioniert. –

+2

Nein, es wird nicht für jede Bedingung funktionieren. Sie sollten 'WHEN type = NULL' nicht verwenden, es ist' WANN Typ IS NULL' – Lamak

+0

Yup gut Catch Thanks @Lamak –

Verwandte Themen