sammanfattning: i den här handledningen lär du dig hur du använder SQL Server COALESCE
uttryck för att hantera NULL i frågor.
introduktion till SQL Server COALESCE uttryck
SQL ServerCOALESCE
uttryck accepterar ett antal argument, utvärderar dem i följd och returnerar det första icke-null-argumentet.,
följande visar syntaxen för uttrycketCOALESCE
:
Code language: SQL (Structured Query Language) (sql)
i denna syntax är E1, E2, … en skalära uttryck som utvärderar till skalära värden. UttrycketCOALESCE
returnerar det första icke-null-uttrycket., Om alla uttryck utvärderar till NULL, då COALESCE
uttryck return NULL;
eftersom COALESCE
är ett uttryck, kan du använda det i en klausul som accepterar ett uttryck som SELECT
, WHERE
, GROUP BY
, GROUP BY
.,
eftersom det är det första icke-null-argumentet:
Code language: SQL (Structured Query Language) (sql)
här är utmatningen:
B) använda SQL Server COALESCE-uttryck med det numeriska dataexemplet
i det här exemplet används uttrycket COALESCE
för att utvärdera en lista med argument och för att returnera första numret:
Code language: SQL (Structured Query Language) (sql)
utgången är följande:
C) använda SQL Server coalesce uttryck för att ersätta null med nya värden
se följande sales.customers
tabell från provdatabasen.,
följande fråga returnerar förnamn, efternamn, telefon och e-post till alla kunder:
här är den partiella utgången:
kolumnenphone
harNULL
om kunden inte har telefonnumret inspelat i tabellensales.customers
.,du kan använda COALESCE
– uttrycket för att ersätta NULL
med strängen N/A
(inte tillgängligt) som visas i följande fråga:
följande bild visar den partiella utmatningen:
d) använda SQL Server coalesce uttryck för att använda tillgängliga data
först, skapa en ny tabell som heter salaries
som lagrar arbetstagarens löner:
varje personal kan bara ha en hastighet antingen timme, vecka eller månad.,56b1ad”>
tabell:
här är utmatningen:
fjärde, beräkna månadsvis för varje personal med hjälp av uttrycket COALESCE
som visas i följande fråga:
följande bild visar utdata:
i det här exemplet använde vi uttrycketCOALESCE
för att endast använda icke-null-värde som finns ihourly_rate
,weekly_rate
ochmonthly_rate
kolumner.,
COALESCE vs. CASE expression
uttrycketCOALESCE
är ett syntaktiskt socker av uttrycketCASE
.
följande uttryck returnerar samma resultat:
Code language: SQL (Structured Query Language) (sql)
Observera att query optimizer kan använda uttrycketCASE
för att skriva om uttrycketCOALESCE
.
i den här handledningen har du lärt dig hur du använder SQL Server COALESCE
uttryck för att hantera NULL-värden i frågor.