5,889
社区成员
发帖
与我相关
我的任务
分享
WITH TMP(STR,POS_FROM,POS_TO) AS (
VALUES (REPLACE(REPLACE('A+B-C+D-E-F-G+H','+',' +'),'-',' -'),1,POSSTR(REPLACE(REPLACE('A+B-C+D-E-F-G+H','+',' +'),'-',' -'),' '))
UNION ALL
SELECT STR,POS_TO+1,LOCATE(' ',STR,POS_TO+1)
FROM TMP
WHERE LOCATE(' ',STR,POS_TO+1)>0 )
SELECT SUBSTR(STR,POS_FROM,POS_TO-POS_FROM) AS SPLITSTR FROM TMP