Coalesce sql意思
在SQL中,COALESCE
是一個函式,它用於返回第一個非空值或指定的默認值。這個函式接受一個或多個表達式作為參數,並返回第一個不為空的表達式。如果所有表達式都是空的,則返回默認值(如果提供了默認值),否則返回NULL。
例如,假設你有以下表:
CREATE TABLE Persons (
ID int PRIMARY KEY,
Name varchar(255),
Age int
);
插入一些數據:
INSERT INTO Persons (ID, Name, Age)
VALUES (1, 'John', 25),
(2, 'Jane', NULL),
(3, NULL, 30);
現在,你可以使用COALESCE
函式來獲取某個人的年齡,或者如果年齡欄位為空,則返回一個默認值:
SELECT COALESCE(Age, 0) AS Age
FROM Persons
WHERE ID = 2;
在這個例子中,COALESCE(Age, 0)
會返回Jane的年齡,如果Age欄位為空,則返回0。
如果你有多個表達式,COALESCE
會依次檢查它們,直到找到第一個不為空的值:
SELECT COALESCE(Age, Name, ID) AS Value
FROM Persons
WHERE ID = 3;
在這個例子中,COALESCE(Age, Name, ID)
會返回Person 3的ID,因為Name和Age欄位都是空的。
如果你提供了默認值,COALESCE
函式會返回默認值,而不是NULL,如果所有表達式都是空的:
SELECT COALESCE(Age, 0) AS Age
FROM Persons
WHERE ID = 3;
在這個例子中,COALESCE(Age, 0)
會返回0,因為Person 3的Age欄位是空的。