【问题标题】:SQL - Inserting a time value into column?SQL - 将时间值插入列?
【发布时间】:2015-03-01 19:28:48
【问题描述】:

我正在使用 Oracle SQL,我想在数据类型为 TIMESTAMP 的列中插入一个时间值(例如 15:45 或 15:45:00)。我尝试了以下方法,但它给出了一个错误,表明它不是一个有效的月份。

INSERT trainTbl(Dest, trainTime)
VALUES
('Waterloo', '15:00:00');

如果有人能把我引向正确的方向,我将不胜感激。 谢谢

【问题讨论】:

  • 可能duplicate
  • 不是重复的,我在发布之前尝试过,并且在我不想要的时间之前得到了一个日期。我只是想要时间。
  • 请复制/粘贴您收到的完整消息错误
  • 错误报告 - SQL 错误:ORA-01843: not a valid month 01843. 00000 - "not a valid month" *原因:*操作:
  • 我不想要这个列中的日期,只是时间。我已经在单独的列中有日期。

标签: sql time timestamp


【解决方案1】:

Oracle 的TIMESTAMP 数据类型包含完整的时间和日期。您不能仅使用它来存储时间;要么存储完整的时间和日期,要么为您的列使用不同的数据类型。

How to store only time; not date and time? 中讨论了仅存储时间的一些选项。但是,如果您已经将日期存储在另一列中,您可能应该只将这些信息存储在一起。 Oracle 提供它所提供的数据类型是有原因的。

【讨论】:

    猜你喜欢
    • 2012-09-11
    • 1970-01-01
    • 2012-05-02
    • 1970-01-01
    • 2013-05-19
    • 2014-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多