在 SQL 中,沒有名為 “explode” 的內置函數
WITH data AS (
SELECT 'a,b,,c,' AS csv_values
)
SELECT
CASE
WHEN value = '' THEN NULL
ELSE value
END AS value
FROM
data,
UNNEST(STRING_TO_ARRAY(csv_values, ',')) AS value;
這個查詢首先使用 STRING_TO_ARRAY
函數將逗號分隔的字符串轉換為數組。然后,它使用 UNNEST
函數將數組拆分為多行。最后,它使用 CASE
語句將空字符串替換為 NULL。
請注意,這個示例是基于 PostgreSQL 數據庫的。不同的數據庫可能有不同的實現方式。如果您使用的是其他數據庫,請查閱相應的文檔以了解如何處理空字符串。