这是较长查询的标题行报告。
alias docker='docker --tlsverify=false'
直到我到达以下行:
SELECT
RPAD ('C', 1)
|| RPAD (' ', 24)
|| RPAD ('HED', 3)
|| RPAD (' ', 1)
|| RPAD ('BSC', 3)
|| RPAD (' ', 1)
|| RPAD ((LPAD (c.total_acct), 6, 0), 6)
|| RPAD (SUBSTR (TO_CHAR (SYSDATE, 'YYYYMMDD'), 1, 4), 4)
|| RPAD (SUBSTR (TO_CHAR (SYSDATE, 'YYYYMMDD'), 5, 2), 2)
|| RPAD (SUBSTR (TO_CHAR (SYSDATE, 'YYYYMMDD'), 7, 2), 2)
|| RPAD (' ', 7)
|| RPAD ((LPAD (c.total_amt), 14, '0'), 14)
|| RPAD (' ', 34)
AS HEADER_ROW
答案 0 :(得分:4)
如果您查看导致此问题的其中一行:
RPAD ((LPAD (c.total_acct), 6, 0), 6)
您应该看到对LPAD()
的调用没有足够的参数。也许你的意思是这个?
RPAD( LPAD( c.total_acct, 6, 0 ), 6 )
导致问题的另一条线的情况也是如此。错误信息有点令人困惑 - 问题实际上是括号过多。
希望这有帮助。
答案 1 :(得分:1)
是的,@ David的答案好像可以解决问题。
此外,SYSDATE
标题看起来有点奇怪。首先,日期转换为YYYYMMDD,然后显示前四个字符(年份)。然后再次转换日期,并显示字符5和6(月份),日期相同。
我相信你可以替换
|| RPAD (SUBSTR (TO_CHAR (SYSDATE, 'YYYYMMDD'), 1, 4), 4)
|| RPAD (SUBSTR (TO_CHAR (SYSDATE, 'YYYYMMDD'), 5, 2), 2)
|| RPAD (SUBSTR (TO_CHAR (SYSDATE, 'YYYYMMDD'), 7, 2), 2)
安全地通过
|| TO_CHAR (SYSDATE, 'YYYYMMDD')