您可以使用(无论数量是您的最大节点数)UNION ALL 语句和 SUBSTRING 与 INSTR 一起用于节点的可能位置
尝试类似:
SELECT region_name, nodes AS node,
sgspeed, sgutil, portCount, WeekendingDate
FROM t
WHERE instr(nodes,'-') = 0
UNION ALL
SELECT region_name, SUBSTRING(nodes FROM instr(nodes,'-',1,1) +1 FOR instr(nodes,'-',1,2)-1) AS node,
sgspeed, sgutil, portCount, WeekendingDate
FROM t
WHERE instr(nodes,'-') > 0
UNION ALL
SELECT region_name, SUBSTRING(nodes FROM instr(nodes,'-',1,2) +1 FOR instr(nodes,'-',1,3)-1) AS node,
sgspeed, sgutil, portCount, WeekendingDate
FROM t
WHERE instr(nodes,'-',1,2) > 0
UNION ALL
SELECT region_name, SUBSTRING(nodes FROM instr(nodes,'-',1,3) +1 FOR instr(nodes,'-',1,4)-1) AS node,
sgspeed, sgutil, portCount, WeekendingDate
FROM t
WHERE instr(nodes,'-',1,3) > 0
...