如何格式化 oracle 11g 中 select 查询的列长度?

How to format column length on select query in oracle 11g?

我在使用 Oracle 11g 中的 select 查询格式化列长度时遇到问题。这是我的 table 结构:

我正在尝试将 judul_buku 长度格式化为 50,但当我使用 RPAD 语法时它似乎不起作用。 这是我的查询:

SELECT rpad(b.judul_buku, 50) as "Buku"
from buku b;

这是输出结果(输出错误,因为长度超过了50)。

我试图从 select 查询中搜索如何设置列长度的格式,但我找不到合适的关键字来搜索它,所以我找不到任何语法来更改列长度。

我正在使用 oracle 11g,我无法更改版本,因为我的讲师告诉我使用 oracle 11g,她只教 RPAD 和 LPAD 来减少列长度(这对我和我的朋友不起作用).

是否有任何其他方法来减少色谱柱长度而不是 RPAD LPAD?

投射到 char(50) 怎么样?

select cast(b.judul_buku as char(50)) as "Buku"
from buku b;

这会设置类型并在值较短时用 50 个空格填充值。也就是说,这种类型的格式化通常在应用程序中完成。