SELECT
cols.table_name,
cols.column_name,
cols.data_type ||
CASE WHEN cols.data_type IN ('CHAR', 'VARCHAR2', 'NCHAR', 'NVARCHAR2') THEN '(' || cols.char_length || ')'
WHEN cols.data_type IN ('NUMBER') AND cols.data_precision IS NOT NULL THEN '(' || cols.data_precision || ',' || cols.data_scale || ')'
WHEN cols.data_type IN ('FLOAT') AND cols.data_precision IS NOT NULL THEN '(' || cols.data_precision || ')'
ELSE '' END AS data_type,
cols.nullable,
com.comments AS column_comments
FROM
user_tab_columns cols
LEFT JOIN user_col_comments com ON cols.table_name = com.table_name AND cols.column_name = com.column_name
WHERE
cols.table_name = 'YOUR_TABLE_NAME' -- 替换为你的表名
ORDER BY
cols.column_id;