【问题标题】:What is the syntax for inserting data into a timestamp(6) type field in OracleOracle中将数据插入时间戳(6)类型字段的语法是什么
【发布时间】:2008-10-15 12:38:51
【问题描述】:

我需要在 Oracle 的表中插入一些数据。

唯一的问题是其中一个字段是时间戳(6)类型,它是必需的数据。我不关心这里实际发生了什么,我只需要为条目获取正确的语法,以便数据库接受它。

我正在使用 gui Web 客户端输入数据,但如果必须,我不介意使用原始 SQL。

谢谢。

【问题讨论】:

  • 您是问如何创建具有 TIMESTAMP 数据类型的列,或者如何在插入或加载时将字符串值转换为 TIMESTAMP 值?
  • 我认为我的措辞很糟糕。我需要将数据插入时间戳列。

标签: sql database oracle records


【解决方案1】:

我不知道这是否有帮助,但在 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 ; 

【讨论】:

  • to_timestamp 函数在这种特殊情况下对我不起作用(数据库客户端不喜欢它) - 但它似乎是创建时间戳值的好方法。谢谢。
  • 非常感谢...这让我在紧急、时间紧迫的时刻拯救了我!不能说我曾经找到任何我可以说同样的话的 Oracle 文档!
【解决方案2】:

使用to_timestamp() 是一种选择。 另一个是这样做的:

INSERT INTO table VALUES (timestamp'2009-09-09 09:30:25 CET');

【讨论】:

    【解决方案3】:

    这里有几个对我有用的不同 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')
    

    【讨论】:

      【解决方案4】:
      insert into x values(to_timestamp('22:20:00','hh24:mi'));
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-02-17
        • 2012-08-19
        • 1970-01-01
        • 2011-05-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-30
        相关资源
        最近更新 更多