提问人:Adachi 提问时间:10/3/2021 最后编辑:William RobertsonAdachi 更新时间:10/3/2021 访问量:176
如何访问或选择Data_Type的比例和精度?
How do you access or SELECT Scale and Precision of a Data_Type?
问:
我正在尝试从 SQL Developer 打印出报告。当我选择Data_Type时,我得到了预期的数据类型,但我希望小数位数和精度也就在它旁边......例如
CHAR(3, 0)
NUMBER(7, 0)
现在我只得到数据类型本身,如:
CHAR
NUMBER
请问我缺少什么语法来访问或选择比例和精度?
答:
2赞
user5683823
10/3/2021
#1
如果您正在“选择”数据类型,我假设您正在从类似 .右?喜欢这个:all_tab_columns
select column_name, data_type
from all_tab_columns
where owner = 'SCOTT' and table_name = 'EMP'
;
COLUMN_NAME DATA_TYPE
------------ ------------
EMPNO NUMBER
ENAME VARCHAR2
JOB VARCHAR2
MGR NUMBER
HIREDATE DATE
SAL NUMBER
COMM NUMBER
DEPTNO NUMBER
现在,您想知道列的最大长度,以及 的精度和小数位数,对吗?VARCHAR2
NUMBER
向 .这样:select
select column_name, data_type, char_col_decl_length, data_precision, data_scale
from all_tab_columns
where owner = 'SCOTT' and table_name = 'EMP'
;
COLUMN_NAME DATA_TYPE CHAR_COL_DECL_LENGTH DATA_PRECISION DATA_SCALE
------------ ------------ -------------------- -------------- ----------
EMPNO NUMBER 4 0
ENAME VARCHAR2 10
JOB VARCHAR2 9
MGR NUMBER 4 0
HIREDATE DATE
SAL NUMBER 7 2
COMM NUMBER 7 2
DEPTNO NUMBER 2 0
或者,在 SQL*Plus(或实现其功能的其他接口)中,您可以使用 SQL*Plus 命令:describe
describe scott.emp
Name Null? Type
-------- ----- ------------
EMPNO NUMBER(4)
ENAME VARCHAR2(10)
JOB VARCHAR2(9)
MGR NUMBER(4)
HIREDATE DATE
SAL NUMBER(7,2)
COMM NUMBER(7,2)
DEPTNO NUMBER(2)
很有可能,SQL*Plus 使用查询实现自己的命令,就像我之前分享的查询一样。describe
select
0赞
Himanshu
10/3/2021
#2
为什么不直接使用来描述表格
Desc tablename
或
Describe tablename
评论
0赞
Michael
10/3/2021
“desc” 不是 SQL 命令
0赞
Himanshu
10/3/2021
在sqlplus命令终端中键入相同的命令,n看到魔术
上一个:按 SQL 表分组划分
下一个:Oracle 中的数值精度
评论