我需要在Oracle的表中插入一些数据。
唯一的问题是其中一个字段是时间戳(6)类型,它是必需的数据。我不关心实际的内容我只需要为条目获取正确的语法,以便数据库接受它。
我正在使用gui Web客户端输入数据,但如果必须,我不介意使用原始SQL。
感谢。
答案 0 :(得分:11)
我不知道如果这有帮助,但在SQL * Plus中我做到了这一点:
create table x ( a timestamp(6));
insert into x values ( current_timestamp );
select * from x;
告诉我这个:
T
---------------------------------------------------------------------------
15-OCT-08 02.01.25.604309 PM
所以它看起来很有效。
如果需要将先前已知的值放入列中,那么TO_TIMESTAMP()函数如何?像这样:
select to_timestamp('27/02/2002 15:51.12.539880', 'dd/mm/yyyy hh24:mi.ss.ff')
from dual ;
答案 1 :(得分:4)
使用to_timestamp()
是一种选择。
另一个是这样做的:
INSERT INTO table VALUES (timestamp'2009-09-09 09:30:25 CET');
答案 2 :(得分:0)
以下是几个不同的TO_TIMESTAMP函数,对我有用......
此TO_TIMESTAMP函数针对TIMESTAMP(6)类型的列进行INSERT:
TO_TIMESTAMP('04/14/2015 2:25:55','mm/dd/yyyy hh24:mi.ss.ff')
此TO_TIMESTAMP函数针对DATE类型的列进行INSERT:
TO_TIMESTAMP('04/15/2015','mm/dd/yyyy')
答案 3 :(得分:0)
insert into x values(to_timestamp('22:20:00','hh24:mi'));