如何防止 dbms_output.put_line 修剪前导空格?
我正在尝试右对齐某些 PL/SQL 代码的输出,但 dbms_output.put_line 正在修剪字符串中的前导空格。我该如何让它停止?或者有没有更好的方法来输出带有前导空格的字符串?
dbms_output.put_line(lpad('string', 30, ' '));
输出:
string
而不是:
string
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
问题不在于
dbms_output
,而在于 SQL*Plus。使用
或
来保留空格。
来自
文档 (PDF) >SET SERVEROUT WORD_WRAPPED
(这是标准):The problem is not with
dbms_output
but with SQL*Plus.Use
or
to preserve the spaces.
From the documentation (PDF) of
SET SERVEROUT WORD_WRAPPED
(which is the standard):可能会补充一点,如果您想保留前导空格但修剪尾随空格,请使用:
这样,前导空格将被保留,但行长度将由输出中文本的实际长度确定。
Might add that if you want to preserve the leading spaces but trim the trailing spaces use:
This way the leading spaces will be preserved but the line length will be determined by the actual length of text in the output.