Ich führe die folgende SQL-Abfrage in SQL Server, wo ich einen Standardwert als 'NULL' zurückgeben muss, wenn eine Bedingung nicht erfüllt ist. Das Ergebnis sollte als NULL für einige Datensätze angezeigt werden, die die Kriterien nicht erfüllen, aber ich bekomme ein Leerzeichen anstelle von NULL.Kann jemand bitte helfen?Ich möchte einen Standardwert als NULL für eine Bedingung in SQL Server zurückgeben
Es gibt wenige Zeilen in meiner Tabelle, die die Kriterien nicht erfüllen, daher sollte ich NULL in meinem Ergebnis sehen.
SELECT NAME,
CASE
WHEN AGE >=18 AND SEX='M' THEN 'Adult Male'
WHEN AGE>18 AND SEX='M' 'Non-Adult Male'
WHEN AGE >=18 AND SEX='F' THEN 'Adult Female'
WHEN AGE<18 AND TITLE='F' THEN 'Non-Adult Female'
ELSE NULL
END AS AGE_SEX,
ADDRESS,
SALARY
FROM PERSONALS;
Können Sie bitte die intelligenten Zitate bearbeiten? Das sollten normale einfache Anführungszeichen sein. – sstan
Nun, Sie haben Ihre Bedingungen durcheinander gebracht, Sie haben 'SEX = 'F'' oder' SEX =' M'für einige, aber 'TITLE = 'F'für eine andere. Auch "AGE> = 18" für "Adult", aber auch "AGE> 18" für "Non Adult" – Lamak
Beachten Sie, dass ein echter Nullwert als leerer Wert angezeigt wird, je nachdem, was angezeigt wird. Wenn Sie eine 'NULL' * Zeichenkette * wollen, dann verwenden Sie' 'NULL'', mit einfachen Anführungszeichen. – sstan