在 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 等),您需要使用特定于數據庫的方法來實現類似的功能。