0
我已經寫了一個存儲過程來顯示關於員工工資的屏幕細節,它工作的很好,但我想修復顯示在屏幕上的信息。我嘗試使用LPAD和RPAD函數來在屏幕上排列「列」,但它不起作用,或者我可能沒有很好地使用它。你有什麼主意嗎?謝謝。顯示Oracle PL/SQL - 如何格式化屏幕上顯示的數據?
FOR j IN c_recibos (t_emp(i).numero, t_emp(i).legajo)
LOOP
DBMS_OUTPUT.PUT_LINE(
RPAD(j.concepto, 24, ' ') || ' ' ||
LPAD(j.cantidad, 10, ' ') || ' ' ||
RPAD(TO_CHAR(j.haberes, '0000.00'), 9, ' ') || ' ' ||
LPAD(TO_CHAR(j.retenciones, '0000.00'), 28, ' '));
END LOOP;
FOR k IN c_totales(t_emp(i).numero, t_emp(i).legajo)
LOOP
DBMS_OUTPUT.PUT_LINE(
'Totales: ' || k.total_haberes || ' ' ||
k.total_retenciones);
END LOOP;
DBMS_OUTPUT.PUT_LINE('------------');
END LOOP;
最新信息:
當我出口的信息複製到記事本,我想看到類似的東西:
看起來不錯除了幾個多餘的空格'Cantidad'之前和'Retenciones'列中的數字。請記住,空值不會被填充,空格是默認的填充字符,所以你不需要''''。 (順便說一句,是記事本或Excel?) –
對不起,這是爲Excel,但還沒有工作。有沒有任何功能或什麼來格式化輸出?或者我應該繼續嘗試使用LPAD和RPAD功能? –
如果僅用於Excel,則可以使用分隔符(例如製表符或管道),而不是將列中的文本對齊。如果它必須對齊,那麼'lpad'和'rpad'應該可以完成這項工作。您可能會將文本分配給char變量而不是正確填充,因爲它涉及到相同的事情(對空值的注意事項相同)。 –