首页 > 解决方案 > 如何在 oracle 11g 中格式化选择查询的列长度?

问题描述

我在使用 oracle 11g 中的选择查询格式化列长度时遇到问题。这是我的表结构: 在此处输入图像描述

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

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

这是输出(出现错误,因为长度超过 50)。 在此处输入图像描述

我试图搜索如何从选择查询中格式化列长度,但我找不到正确的关键字来搜索它,所以我找不到任何语法来更改列长度。

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

有没有其他方法可以减少列长度而不是 RPAD LPAD ?

标签: sqloraclesqlplus

解决方案


投射到怎么样char(50)

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

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


推荐阅读