在 SQL 中,LEAST 函數用于返回一組表達式中的最小值。當處理空值(NULL)時,LEAST 函數會將空值視為未知值,并嘗試找到其他非空值來比較。如果所有表達式都是 NULL,則 LEAST 函數返回 NULL。
以下是一個簡單的示例,說明了 LEAST 函數如何處理空值:
SELECT LEAST(1, 2, NULL) as result;
在這個示例中,LEAST 函數將返回 1,因為它是非空值中的最小值。
如果你希望在處理空值時采取特定行動,可以使用 COALESCE 函數為空值提供默認值。例如,如果你想將空值視為最大值,可以使用以下查詢:
SELECT LEAST(COALESCE(column1, MAX_VALUE), COALESCE(column2, MAX_VALUE)) as result
FROM your_table;
在這個示例中,如果 column1 或 column2 為 NULL,COALESCE 函數將使用 MAX_VALUE 作為默認值。這樣,LEAST 函數將返回非空值中的最小值,同時將空值視為最大值。請注意,MAX_VALUE 應該是一個足夠大的數字,以確保它大于表中可能出現的任何實際值。