从执行结果中拆分字符串

Split string from execute result

我这样执行查询时得到了结果:

+--------+--------+
-  col1  -  col2  -
+--------+--------+
-  a,b   -   1    -
-  a,c   -   2    -
-  b,c   -   3    -
- a,b,c  -   4    -
- a,c,d  -   5    -
+--------+--------+

如何仅使用 "a" 或 "b" 或 "c"

将每个结果行拆分为新行结果
+--------+--------+
-  col1  -  col2  -
+--------+--------+
-  a     -   1    -
-  a     -   2    -
-  a     -   4    -
-  a     -   5    -
-  b     -   1    -
-  b     -   3    -
-  b     -   4    -
-  c     -   2    -
-  c     -   3    -
-  c     -   4    -
-  c     -   5    -
-  d     -   5    -
+--------+--------+

您可以使用 string_split():

select s.value, t.col2
from t cross apply
     string_split(col1, ',') s