当前位置: 首页 > 面试题库 >

SQL“指定有效月份”。

宦琪
2023-03-14
问题内容

我在sql中有一个表,如下所示:

CREATE TABLE Reserves(
    sid INTEGER,
    bid INTEGER,
    day DATE,
    PRIMARY KEY (sid, bid, day),
    FOREIGN KEY (sid) REFERENCES Sailors,
    FOREIGN KEY (bid) REFERENCES Boats
);

我正在尝试插入它:

INSERT INTO Reserves VALUES(22, 101, '01-01-1998');

但是我得到了错误:ORA-01843:无效的月份

这是一个Oracle数据库。我不确定日期格式有什么问题。


问题答案:

目前尚不清楚您想要哪个,因此您可以尝试:

  • 对于月日年格式:

INSERT INTO Reserves VALUES(22, 101, TO_DATE('01-01-1998','MM-DD-YYYY'));

  • 对于日-月-年格式:

INSERT INTO Reserves VALUES(22, 101, TO_DATE('01-01-1998','DD-MM-YYYY'));

另外,建议阅读:Oracle函数:TO_DATE



 类似资料:
  • 请帮助我修复在尝试将内容插入下表时收到的错误消息。举个例子可以帮助我更好地理解它。 插入: 错误报告-SQL错误:ORA-01722:无效号码01722。00000-"无效号码"*原因:指定的号码无效。*操作:指定有效号码。

  • 我希望在oracle数据库11.2.0.4版上的PL/SQL ETL进程中插入具有时间戳列的表中的数据 如果在Toad中运行“Create INSERT from seletcted row”,将得到以下SQL命令: 在PL/SQL中,我生成一个varchar2/string,类似于:

  • 我使用以下查询创建了一个表 现在,当我尝试使用SQL错误:ORA-01843:not a valid month。 我做错了什么?

  • 我有一个包含以下字段的表: 报告(表名)Rep_Date(日期)Rep_Time(日期) 更新15:58我现在可以执行以下查询: 但是,我需要在子句中再添加一条语句,将MaxDate的时间部分与rep_time:不起作用。

  • 请帮忙。我在这里犯了一个小错误,但即使看了前面的问题,我也找不到它。 查询运行时没有错误,但是当我从结果中选择所有数据时(通过执行Ctrl+a),我得到ORA-1843:不是一个有效的月份。 谢谢你。 此外,我被错误的数据模型所困扰。此日期字段的值如“0--”,月份值大于12,最后天大于31。现在我想在选择期间忽略这些记录。我创建的存储过程不能正常工作,请提供帮助。谢了。