在 SQL 中,没有内置的 explode
函数
SELECT
id,
value
FROM
your_table
CROSS APPLY
STRING_SPLIT(your_column, ',') AS ss(value);
这里是一个完整的示例:
-- 创建一个包含逗号分隔值的表
CREATE TABLE test_table (
id INT PRIMARY KEY,
csv_values VARCHAR(255)
);
-- 插入一些数据
INSERT INTO test_table (id, csv_values) VALUES (1, 'apple,banana,orange');
INSERT INTO test_table (id, csv_values) VALUES (2, 'car,boat,plane');
-- 使用 STRING_SPLIT 和 CROSS APPLY 查询分隔后的值
SELECT
id,
value
FROM
test_table
CROSS APPLY
STRING_SPLIT(csv_values, ',') AS ss(value);
结果将显示分隔后的值:
id | value
---------
1 | apple
1 | banana
1 | orange
2 | car
2 | boat
2 | plane
请注意,STRING_SPLIT
函数仅在 SQL Server 2016 及更高版本中可用。对于其他数据库(如 MySQL、PostgreSQL 等),您需要使用特定于数据库的方法来实现类似的功能。