在 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 等),您需要使用特定于数据库的方法来实现类似的功能。