首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用CTAS在Oracle表中创建时间戳(6) data_length 11?

如何使用CTAS在Oracle表中创建时间戳(6) data_length 11?
EN

Stack Overflow用户
提问于 2017-11-12 08:04:36
回答 1查看 3.6K关注 0票数 2

当我首先创建一个表时,它是正确的:

代码语言:javascript
运行
复制
create table test (time timestamp(6));

Data_length = 11

代码语言:javascript
运行
复制
"COLUMN_NAME" "DATA_TYPE"     "DATA_LENGTH"
"TIME"        "TIMESTAMP(6)"  11

但是当我做CTAS时:

代码语言:javascript
运行
复制
 create table TEST as 
 select to_timestamp('09/09/17 04.07.25.086273', 'mm/dd/yy hh24:mi:ss.FF6')  time  
 from dual;

数据长度为20:

代码语言:javascript
运行
复制
 select column_name, data_type, data_length 
 from all_tab_columns 
 where  owner =user and table_name='TEST';

"COLUMN_NAME" "DATA_TYPE"     "DATA_LENGTH"
"TIME"        "TIMESTAMP(6)"  20

如何在CTAS中获取data_length = 11?

EN

回答 1

Stack Overflow用户

发布于 2017-11-12 08:16:08

我只是想出了一种方法:

CTAS运行alter on time列后:

代码语言:javascript
运行
复制
alter table TEST modify(time TIMESTAMP);

它缩小到11个字节

代码语言:javascript
运行
复制
 select column_name, data_type, data_length 
 from all_tab_columns 
 where  owner =user and table_name='TEST';

"COLUMN_NAME" "DATA_TYPE"     "DATA_LENGTH"
"TIME"        "TIMESTAMP(6)"  11
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47244133

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档