2016-04-01 11 views
-1

Ich versuche, eine SELECT in dem, wenn die CurrencyCode ist = '', dann möchte ich das Ergebnis als NULL zurückgegeben werden.SQL Server: SELECT CASE Rückgabe NULL

Zum Beispiel:

INSERT INTO Currency (CurrencyCode, CurrencyName) 
    SELECT 
     CurrencyCode, 
     CASE 
      WHEN CurrencyCode = '' 
       THEN NULL 
     END 
    FROM Contract 

Kann es getan werden?

+1

Was mit Ihrer Anfrage falsch ist? –

+2

Ihr Code sieht gut aus - funktioniert das nicht? – Dai

+2

Könnte noch kürzer sein: 'wähle Währungscode, nullif (Währungscode, '') aus Vertrag ' –

Antwort

4

Es gibt zwei Möglichkeiten, entweder Sie verwenden CASE WHE... THEN... ELSE... END ODER NULLIF

SELECT CurrencyCode, 
NULLIF(CurrencyCode,''), 
CASE 
    WHEN CurrencyCode = '' 
    THEN NULL 
    ELSE CurrencyCode 
END 
FROM Contract