我在将脚本从 Oracle 转换为 Postgres 时遇到问题:
WITH q AS (
SELECT 'ABCDE' str
FROM dual)
SELECT 'TEST' AS WL_ID
,substr(str, LEVEL, 1) AS SUPPLY_MODE_ID
FROM q connect BY LEVEL < length(q.str) + 1;
我在 Postgres 中试过这个:
WITH RECURSIVE t(n)
AS (SELECT 'TEST', substring('ABCDE', 1, 1)
UNION ALL
SELECT 'TEST', substring('ABCDE', n+1,1)
FROM t
where n<length('ABCDE')
)
SELECT * FROM t
我有错误:
错误:运算符不存在:文本 + 整数
我不知道如何返回与 Oracle 完全相同的结果。