Oracle Homework - LPAD / RPAD错误?

时间:2012-02-29 23:16:40

标签: sql oracle

我正在尝试编写一个声明,使用LPAD和RPAD命令生成“Oracle $$$ Internet $$$ Academy”。这是我到目前为止,但我得到一个错误的右括号错误。

SELECT LPAD(RPAD('Oracle', 10,'$$$')RPAD('Internet',24,'$$$'))
FROM dual;

2 个答案:

答案 0 :(得分:4)

你需要同时使用RPAD和LPAD吗?如果没有,您只是缺少||

的串联字符
SELECT RPAD('Oracle', 9,'$$$')||RPAD('Internet',11,'$$$')||'Academy' FROM dual

编辑:更好:

SELECT RPAD('Oracle', 9,'$$$')||'Internet'||LPAD('Academy',10,'$$$') FROM dual

答案 1 :(得分:2)

如果您想同时使用LPADRPAD,您可以执行此类操作。

SQL> ed
Wrote file afiedt.buf

  1  SELECT RPAD('Oracle', length('Oracle')+3,'$')||
  2         'Internet' ||
  3         LPAD('Academy', length('Academy')+3, '$' )
  4*   FROM dual
SQL> /

RPAD('ORACLE',LENGTH('ORACL
---------------------------
Oracle$$$Internet$$$Academy

我使用字符串'Oracle'和'Academy'的长度而不是硬编码值。而且我只指定一次美元符号 - LPADRPAD会自动将其添加到适当的次数。