vědět, kdy použít funkci SQL COALESCE je zachránce, když máte co do činění s NULL.
jak víte, NULL je složitý koncept a zdá se, že to, co se někdy NULL „dotkne“ ve výrazu, činí výsledek NULL. Takže, když máte co do činění s NULL, jak můžete vymanit z cyklu? To znamená, jak můžete místo toho zobrazit jinou hodnotu?
to je místo, kde SQL COALESCE přichází do hry. Pomocí této funkce můžete testovat NULL, a když je přítomen, nahradit NULL pro jinou hodnotu.
co je COALESCE?,
COALESCE je vestavěná funkce SQLServer. Použijte COALESCE, když potřebujete vyměnit NULL za jinou hodnotu. Má podobu:
COALESCE(value1, value2, ..., valuen)
vrací první NULL ze seznamu hodnot.
zvažte baseballové parky z baseballové databáze Lahmans., Pokud chceme zobrazit parkname v místě parkalias, který může být null, SPLÝVAJÍ funguje dobře tady:
V tomto příkladu SPLÝVAJÍ(parkalias, parkname) vrátí hodnotu nalézt v parkalias, pokud hodnota není NULL; nicméně, pokud je to NULL, pak parkname je vrátil.
jaký SQL byste napsali, pokud byste chtěli zobrazit „neznámé“, pokud je parkalias NULL?, Proč nezkusit napsat dotaz … zde je start …
porovnání SQL COALESCE s CASE
věděli jste, že SQL COALESCE je zkratka pro příkaz CASE?
zvažte průzkum tabulky, který má sloupce answerID, option1, option2, option3.
chceme uvést answerID a první možnost non NULL.
Z toho, co jsme se naučili, můžeme použít SPLÝVAJÍ jako:
SELECT answerID,
COALESCE(option1, option2, option3, 'No Option Selected')
FROM survey
Toto je zkratka pro tento PŘÍPAD prohlášení:
SELECT answerID,
CASE
WHEN option1 is not NULL then option1
WHEN option2 is not NULL then option2
WHEN option3 is not NULL then option3
ELSE 'No Option Selected'
END
FROM survey
v PŘÍPADĚ, že se používá ve více okolností, ale při výměně NULL, SPLÝVAJÍ, je šikovný zástupce!,
pro záznam má SQL Server mnoho dalších zajímavých funkcí, které se mohou naučit a prozkoumat. Pokud jste tak ještě neučinili, podívejte se na tyto řetězcové funkce pro manipulaci s textovými daty!