SQLPlus varchar2 输出空格

2024-04-07

当我像下面这样查询表时,“NAME”列的输出太长。我最近将数据类型更改为 VARCHAR2(150) 而不是 VARCHAR(150),以不保存空格。然而,输出似乎无论如何都包含(一些?)空格。谁能澄清这里发生了什么事吗?我是否在这里查看空格,或者问题只是我的终端/控制台,还是 SQLPLUS 本身与它有关?使用 Windows 终端。

SQL> SELECT * FROM SYS.O1_Orders;

        ID
----------
NAME
--------------------------------------------------------------------------------

  QUANTITY      PRICE
---------- ----------
         1
Cakes
        25        200

这纯粹是 SQL*Plus 显示问题。 (目前)两者之间没有区别VARCHAR and VARCHAR2数据类型——两者都不会用空格填充您保存的数据。仅有的CHAR列就可以做到这一点。

在 SQL*Plus 中,您可以控制宽度name显示列

SQL> column name format a30;

例如,将告诉 SQL*Plus 使用 30 列来显示name柱子。您可以根据数据的实际长度、想要在单行中容纳多少数据等来向上或向下调整该值。您必须将其与 SQL 语句一起放入脚本中,否则您将在发出该语句之前,需要在每个会话中复制它,否则您需要将其添加到 login/glogin.sql 文件中。

如果您尝试生成固定宽度的文本报告,SQL*Plus 是一个可爱的工具。但是,如果您只是以交互方式运行查询,那么它不是最用户友好的解决方案 - 调整文本列的宽度、处理比行长的输出等,很快就会过时。如果您正在进行交互式开发,像 SQL Developer 这样具有适当 GUI 的工具会更加友好。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQLPlus varchar2 输出空格 的相关文章

随机推荐