2 回答

TA貢獻(xiàn)1806條經(jīng)驗(yàn) 獲得超5個(gè)贊
lpad用法
lpad(字段名,填充長(zhǎng)度,填充的字符)
如果是你那種寫法的話函數(shù)用法你都用錯(cuò)了
select LEVEL, LPAD(LEVEL,2*LEVEL-1,' ')...
這樣才是在左側(cè)加空格
至于添加多少個(gè)空格,無(wú)非是個(gè)四則運(yùn)算的問題,自己多寫幾個(gè)就知道了

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超4個(gè)贊
你應(yīng)該是看的Oracle 10g的一個(gè)專門講SQL的書,里面的講分層語(yǔ)句start with和connect by的章節(jié)。其實(shí)樓主的語(yǔ)句沒錯(cuò),應(yīng)該意思是在‘ ’空格左邊再填上N個(gè)空格,通過(guò)LEVEL來(lái)決定到底空多少,因?yàn)闇p了一個(gè)長(zhǎng)度,但是最前面是以' '開始的,所以總空格的長(zhǎng)度是2*LEVEL,然后在結(jié)果集顯示時(shí),看著更直觀。只是樓主語(yǔ)句沒有copy完。
SELECT LEVEL,
LPAD(' ', 2 * LEVEL - 1) || first_name || ' ' || last_name AS employee
FROM more_employees
START WITH employee_id = (
SELECT employee_id
FROM more_employees
WHERE first_name = 'Kevin'
AND last_name = 'Black'
)
CONNECT BY PRIOR employee_id = manager_id;
完整的語(yǔ)句應(yīng)該是。
- 2 回答
- 0 關(guān)注
- 473 瀏覽
添加回答
舉報(bào)