sql >> Databáze >  >> RDS >> Sqlserver

COALESCE Funkce v TSQL

Nejsem si jistý, proč si myslíte, že dokumentace je vágní.

Jednoduše projde všechny parametry jeden po druhém a vrátí první, který je NOT NULL .

COALESCE(NULL, NULL, NULL, 1, 2, 3)
=> 1


COALESCE(1, 2, 3, 4, 5, NULL)
=> 1


COALESCE(NULL, NULL, NULL, 3, 2, NULL)
=> 3


COALESCE(6, 5, 4, 3, 2, NULL)
=> 6


COALESCE(NULL, NULL, NULL, NULL, NULL, NULL)
=> NULL

Přijímá téměř libovolný počet parametrů, ale měly by být stejného datového typu. (Pokud se nejedná o stejný datový typ, budou implicitně přetypovány na vhodný datový typ pomocí pořadí priorit datových typů.)

Je to jako ISNULL() ale pro více parametrů, spíše než jen dva.

Je to také ANSI-SQL , kde-as ISNULL() není.



  1. SQL, jak aktualizovat strukturu tabulky

  2. Jak vrátit sadu výsledků / kurzor z anonymního bloku Oracle PL/SQL, který provádí dynamické SQL?

  3. SQlite Query v Androidu pomocí kurzoru

  4. JSON_STORAGE_FREE() – Zjistěte, kolik úložného prostoru bylo uvolněno po aktualizaci dokumentu JSON v MySQL