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

如何获取带括号格式的列名与对应数据类型(DLL格式)

生成Oracle表列的DDL格式定义

你需要结合all_tab_cols中的data_length字段来拼接类型的长度部分,修改后的SQL语句如下:

SELECT 
    column_name,
    CASE 
        WHEN data_type IN ('VARCHAR2', 'CHAR', 'NVARCHAR2', 'NCHAR') 
            THEN data_type || '(' || data_length || ')'
        WHEN data_type = 'NUMBER' 
            THEN data_type || '(' || data_precision || ',' || data_scale || ')'
        ELSE data_type
    END AS data_type_def
FROM all_tab_cols 
WHERE table_name = 'EMP'
ORDER BY column_id;

说明:

  • 对于字符类型(如VARCHAR2),拼接data_length作为括号内的长度值;
  • 对于NUMBER类型,可拼接data_precision(精度)和data_scale(小数位),不需要的话也可以只保留data_length;
  • 日期类型(DATE)等无需长度的类型,直接输出原数据类型;
  • 加上ORDER BY column_id能保证列顺序和表定义一致。

执行后会输出类似你期望的格式:

Name       varchar2(255)
Age        varchar2(266)
creation   date

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 00:48:09