Oracle SQL-数据类型
您好,我目前正忙于在SQL中创建视图。我对一种数据类型有一个问题,对于我的值Oracle SQL-数据类型,sql,oracle,sqldatatypes,sql-view,Sql,Oracle,Sqldatatypes,Sql View,您好,我目前正忙于在SQL中创建视图。我对一种数据类型有一个问题,对于我的值X\u源地址,2020年的最大字符数是18 但在DB中,该列位于VARCHAR2(255)中,在powerBi中,该列的数据量很大 可以声明另一个数据类型吗 查询: 专栏: 简而言之:演员阵容 下面是一个示例:表dept有一个名为dname的列,它是varchar2(20): 如果创建视图,dept列将继承表的数据类型: SQL> create view v_dept as select * from dept;
X\u源地址
,2020年的最大字符数是18
但在DB中,该列位于VARCHAR2(255)
中,在powerBi中,该列的数据量很大
可以声明另一个数据类型吗
查询:
专栏:
简而言之:演员阵容 下面是一个示例:表
dept
有一个名为dname
的列,它是varchar2(20)
:
如果创建视图,dept
列将继承表的数据类型:
SQL> create view v_dept as select * from dept;
View created.
SQL> desc v_dept
Name Null? Type
----------------------------------------- -------- ----------------------------
DEPTNO NOT NULL NUMBER
DNAME VARCHAR2(20) --> this
LOC VARCHAR2(20)
但是,如果您将它转换为其他内容,您将得到您想要的:
SQL> drop view v_dept
2 /
View dropped.
SQL> create view v_dept as
2 select deptno,
3 cast(dname as varchar2(50)) as dname, --> this
4 loc
5 from dept;
View created.
SQL> desc v_dept
Name Null? Type
----------------------------------------- -------- ----------------------------
DEPTNO NOT NULL NUMBER
DNAME VARCHAR2(50) --> this
LOC VARCHAR2(20)
SQL>
SQL> drop view v_dept
2 /
View dropped.
SQL> create view v_dept as
2 select deptno,
3 cast(dname as varchar2(50)) as dname, --> this
4 loc
5 from dept;
View created.
SQL> desc v_dept
Name Null? Type
----------------------------------------- -------- ----------------------------
DEPTNO NOT NULL NUMBER
DNAME VARCHAR2(50) --> this
LOC VARCHAR2(20)
SQL>