在 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 数据库的。不同的数据库可能有不同的实现方式。如果您使用的是其他数据库,请查阅相应的文档以了解如何处理空字符串。