- 创建测试表格
CREATE TABLE test (id INT PRIMARY KEY, data VARCHAR(100));
INSERT INTO test VALUES (1, 'A,B,C');
INSERT INTO test VALUES (2, 'D,E,F,G');
- 查询并分割字段
SELECT id, value AS split_data 
FROM test CROSS APPLY STRING_SPLIT(data, ',') 
WHERE LEN(value) > 0;
- 输出结果
 /*
 ±—±----------+
 | id | split_data|
 ±—±----------+
 | 1 | A |
 | 1 | B |
 | 1 | C |
 | 2 | D |
 | 2 | E |
 | 2 | F |
 | 2 | G |
 ±—±----------+
 */
上述查询首先通过STRING_SPLIT()函数将原始字段按逗号进行了分割,然后利用CROSS APPLY关键字将分割得到的值与原始记录相连接,最后再根据需求选取所需的列(这里只选取了ID和分割后的值)。