首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在sqlc中将Oracle Insert查询日期格式改为to_date

如何在sqlc中将Oracle Insert查询日期格式改为to_date
EN

Stack Overflow用户
提问于 2018-01-23 16:22:45
回答 1查看 681关注 0票数 0

日安,

在sqlcl中,我想运行一个构建insert语句的查询。例如:

代码语言:javascript
复制
SELECT /*insert*/* FROM TABLE;

但是每个日期值都以to_timestamp('date', 'format')的形式返回,所以我想要获取to_date('date', 'format')

我需要设置什么才能使它发生?

谢谢!!

编辑:

例如..。我有两个列id和date的表datesaving。如果我运行这个查询

SELECT /*insert*/ id,date FROM datesaving ;

我得到了

Insert into DATASAVING (ID, DATE) values (1,to_timestamp('2016-02-15 11:05:07','RRRR-MM-DD HH24:MI:SS'));

我想要的是这个

Insert into DATASAVING (ID, DATE) values (1,to_date('2016-02-15 11:05:07','RRRR-MM-DD HH24:MI:SS'));

我知道我可以改变de nls_format,但我不知道如何改变这一点。

EN

回答 1

Stack Overflow用户

发布于 2018-02-02 21:52:04

这是因为我们在sqlcl中得到的元数据告诉我们日期列是一个时间戳,所以代码将其视为时间戳。然而,它将会工作得很好。

代码语言:javascript
复制
SQL> create table test_insert(id number,dt date,ts timestamp);

Table TEST_INSERT created.

SQL> insert into test_insert values(1,sysdate,systimestamp);

1 row inserted.

SQL> set sqlformat insert
SQL> select * from test_insert;
REM INSERTING into TEST_INSERT
SET DEFINE OFF;
Insert into TEST_INSERT (ID,DT,TS) values (1,to_timestamp('02-FEB-18','DD-MON-RR HH.MI.SSXFF AM'),to_timestamp('02-FEB-18 01.47.57.017643000 PM','DD-MON-RR HH.MI.SSXFF AM'));

<<<copy pasted to run the output >>>

SQL> insert into TEST_INSERT (ID,DT,TS) values (1,to_timestamp('02-FEB-18','DD-MON-RR HH.MI.SSXFF AM'),to_timestamp('02-FEB-18 01.47.57.017643000 PM','DD-MON-RR HH.MI.SSXFF AM'));

1 row inserted.
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48397093

复制
相关文章

相似问题

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