有时会要求把字符串拆分为单个字符,如:
CREATE OR REPLACE VIEW v5 AS
SELECT'天天向上'AS 汉字,'TTXS'AS 首拼 FROM dual;
通过函数substr(汉字,level,?)得到需要的结果:
SELECT 汉字,首拼,LEVEL,
substr(汉字,LEVEL,1)AS 汉字拆分,
substr(首拼,IEVEL,1)AS首拼拆分,
'substr("|汉字|,'|LEVEL |',1)'AS fun
FROM v5
CONNECT BYLEVEL<= length(汉字);
汉字 | 首拼 | LEVEL | 汉 | 首 | FUN |
---|---|---|---|---|---|
天天向上 | TTXS | 1 | 天 | T | substr('天天向上',1,1) |
天天向上 | TTXS | 2 | 天 | T | substr('天天向上',2,1) |
天天向上 | TTXS | 3 | 向 | x | substr('天天向上',3,1) |
天天向上 | TTXS | 4 | 上 | s | substr('天天向上',4,1) |
为了方便理解,同时显示了LEVEL的值及每一行实际执行的substr 语句。