tudta, mikor kell használni az SQL COALESCE függvény egy életmentő, ha van dolgunk NULL.
mint tudod, A NULL egy trükkös fogalom, és úgy tűnik, amit valaha NULL “érint” egy kifejezésben, az eredmény NULL. Szóval, amikor NULL-lal foglalkozol, hogyan tudsz kitörni a ciklusból? Vagyis hogyan lehet megjeleníteni egy másik értéket?
itt jön létre az SQL COALESCE. Ezzel a funkcióval tesztelheti a NULL-t, ha jelen van, helyettesítse a NULL-t egy másik értékre.
mi az a COALESCE?,
COALESCE egy beépített SQLServer funkció. Használja COALESCE, ha ki kell cserélni egy NULL egy másik értéket. A következő formában jelenik meg:
COALESCE(value1, value2, ..., valuen)
visszaadja az első nem NULL értéket az értéklistából.
Tekintsük a baseball parkok Lahmans Baseball Adatbázis., Ha azt akarjuk, hogy megjelenjen a parkname helyett a parkalias, amely lehet null, ÖSSZEFOLYNAK jól működik itt:
ebben A példában EGYESÜL(parkalias, parkname) függvény értéke található parkalias, ha az értéke nem NULL; azonban, ha NULL, akkor parkname vissza.
milyen SQL-t írna, ha “ismeretlen” – t szeretne megjeleníteni, ha a parkalias NULL?, Miért nem próbálja meg írni a lekérdezést… itt van a kezdet …
az SQL COALESCE összehasonlítása A CASE
tudta, hogy az SQL COALESCE egy parancsikon az esettanulmányhoz?
Tekintsük a táblázat felmérés, amely az oszlopok answerID, option1, option2, option3.
szeretnénk felsorolni az answerID és az első nem NULL opciót.
abból, amit tanultunk tudjuk használni COALESCE mint:
SELECT answerID,
COALESCE(option1, option2, option3, 'No Option Selected')
FROM survey
Ez egy parancsikon ebben az esetben nyilatkozat:
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
CASE használják több körülmények között, de ha helyett NULL, COALESCE egy praktikus parancsikon!,
a rekord, SQL Server sokkal érdekesebb funkciók tanulni, felfedezni. Ha még nem tette meg, nézze meg ezeket a karakterláncfunkciókat a szöveges adatok manipulálásához!