在 SQL 中,當你需要連接(concatenate)兩個或多個字段時,可能會遇到空值(NULL)
CONCAT
函數:CONCAT
函數會自動忽略空值。例如:
SELECT CONCAT(field1, field2, field3) AS concatenated_fields
FROM your_table;
COALESCE
函數:COALESCE
函數可以用來替換 NULL 值。例如,將 NULL 值替換為空字符串:
SELECT COALESCE(field1, '') || COALESCE(field2, '') || COALESCE(field3, '') AS concatenated_fields
FROM your_table;
CASE
語句:使用 CASE
語句可以根據字段是否為 NULL 來選擇性地連接字段。例如:
SELECT
CASE WHEN field1 IS NULL THEN '' ELSE field1 END ||
CASE WHEN field2 IS NULL THEN '' ELSE field2 END ||
CASE WHEN field3 IS NULL THEN '' ELSE field3 END AS concatenated_fields
FROM your_table;
IFNULL
函數(僅適用于某些數據庫,如 MySQL):IFNULL
函數可以用來替換 NULL 值。例如,將 NULL 值替換為空字符串:
SELECT IFNULL(field1, '') || IFNULL(field2, '') || IFNULL(field3, '') AS concatenated_fields
FROM your_table;
請注意,不同的數據庫系統可能有不同的語法和函數。請根據您正在使用的數據庫系統進行調整。