我正在嘗試使用LPAD和RPAD命令編寫一個將生成「Oracle $$$ Internet $$$ Academy」的語句。這是我迄今爲止,但我得到一個錯誤的右括號錯誤。Oracle作業 - LPAD/RPAD錯誤?
SELECT LPAD(RPAD('Oracle', 10,'$$$')RPAD('Internet',24,'$$$'))
FROM dual;
我正在嘗試使用LPAD和RPAD命令編寫一個將生成「Oracle $$$ Internet $$$ Academy」的語句。這是我迄今爲止,但我得到一個錯誤的右括號錯誤。Oracle作業 - LPAD/RPAD錯誤?
SELECT LPAD(RPAD('Oracle', 10,'$$$')RPAD('Internet',24,'$$$'))
FROM dual;
你需要同時使用RPAD和LPAD?如果沒有,你只是錯過了||的連接字符
SELECT RPAD('Oracle', 9,'$$$')||RPAD('Internet',11,'$$$')||'Academy' FROM dual
編輯:更妙的是:
SELECT RPAD('Oracle', 9,'$$$')||'Internet'||LPAD('Academy',10,'$$$') FROM dual
要求$$$的說明。感謝這工作。當然是 – 2012-02-29 23:32:21
!很高興我能幫上忙。 – northpole 2012-02-29 23:33:01
如果你想同時使用LPAD
和RPAD
你可以做這樣的事情。
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
我使用字符串「甲骨文」和「學院」的長度,而不是硬編碼值。而且我只指定一次美元符號 - LPAD
和RPAD
會自動將其附加到適當的次數。
其實你已經失去了連接'||'。解決之後 - 你會遇到一個問題,傳遞給外層'LPAD'的參數不足。你也許不想'$$$',但是希望'$' - 填充函數被髮明來爲你計算必要的數量字符。所以可能你需要再次閱讀文檔。 – zerkms 2012-02-29 23:20:48