You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle SQL*Plus XE 11g列显示#########的问题求助

解决SQL*Plus中数字列显示########及表格格式混乱的问题

问题根源

你给数字类型的vehicle_id列用了字符格式符Axx,这是错误用法。FORMAT A系列是给VARCHAR2这类字符列设置显示宽度的,数字列得用数字格式符,用错格式会导致SQL*Plus无法正确渲染数字,直接显示########。

正确解决步骤

  1. 修正vehicle_id的格式命令
    针对NUMBER类型的列,使用9或0开头的数字格式符:

    • 如果你的vehicle_id是个位数/两位数,用:
      COLUMN vehicle_id FORMAT 999
      
    • 如果id可能更长(比如最多5位),就用:
      COLUMN vehicle_id FORMAT 99999
      

    (9代表可选数字位,0代表强制显示的占位符,比如FORMAT 000会把id=1显示成001,按需选择)

  2. 优化其他列格式,解决整体表格混乱
    给其他列也设置合适的显示宽度,避免换行或列宽溢出:

    -- 给v_type设置20字符宽度,防止内容换行
    COLUMN v_type FORMAT A20
    -- 给v_price设置带两位小数的数字格式,匹配DECIMAL(10,2)类型
    COLUMN v_price FORMAT 9999999999.99
    

    执行完这些命令后再运行SELECT * FROM Vehicles;,表格格式就会整齐。

额外提醒:你的INSERT语句存在错误

你创建的Vehicles表只有3列(vehicle_id、v_type、v_price),但INSERT语句里写了4个值(比如(1, 'Car', 'Limousine', 67113480)),这会导致插入失败,需要修正INSERT语句匹配表结构,同时注意INSERT ALL必须以SELECT * FROM DUAL;结尾才能执行:

INSERT ALL 
    INTO Vehicles VALUES (1, 'Car', 67113480)
    INTO Vehicles VALUES (2, 'Car', 19000000)
SELECT * FROM DUAL;

内容的提问来源于stack exchange,提问作者NeOx

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 02:10:25