我想在Oracle表中插入Current_timestamp
。而且,我尝试了to_timestamp(current_timestamp,'YYYY-MM-DD HH24:MI:SS:FF')
之类的内容,但是它给出了错误
ORA-01830: date format picture ends before converting entire input string
01830. 00000 - "date format picture ends before converting entire input string"
*Cause:
*Action:
当我做'select current_timestamp,systimestamp from dual;
'时,也非常感谢你的回答。然后它给了我
'CURRENT_TIMESTAMP
--------------------------------------
25-NOV-16 12.03.04.605812000 PM ASIA/C
ALCUTTA ' whereas when i did -'select systimestamp from dual;' I got 'SYSTIMESTAMP
--------------------------------------
25-NOV-16 06.33.04.789680000 AM +00:00
'
现在我要插入格式 25-NOV-16 06.33.04.789680000 以及许多其他游戏。 请帮助。
答案 0 :(得分:1)
CURRENT_TIMESTAMP返回会话时区中的当前日期和时间,其值为数据类型TIMESTAMP WITH TIME ZONE
。
如果您需要TIMESTAMP
值,您可以CAST(CURRENT_TIMESTAMP AS TIMESTAMP)
或甚至更简单,请使用LOCALTIMESTAMP。
根据您更新的问题,您似乎希望在时区或数据库服务器上插入时间 UTC ,而不是“亚洲/加尔各答”。
在这种情况下,使用CAST(SYSTIMESTAMP AS TIMESTAMP)
或简单地SYSTIMESTAMP
,Oracle将在内部投射。
答案 1 :(得分:0)
正如@Ed Gibbs所说,如果您的专栏是TIMESTAMP
,那么只需使用:
insert into yourtable select current_timestamp from dual;
或者您的专栏是VARCHAR
,然后想要更改格式:
insert into yourtable select to_char(current_timestamp, 'YYYY-MM-DD HH12:MI:SS:FF') from dual;