当前位置: 首页 > 知识库问答 >
问题:

hsqldb:对于dd/mm/yyyy,“无效的日期时间格式”,但是对于yyyy-mm-dd不是

储修谨
2023-03-14
CREATE TABLE inventory (
  id INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 100, INCREMENT BY 1) PRIMARY KEY,
  name VARCHAR(30),
  department  VARCHAR(50),
  inventory_type VARCHAR(255),
  expiry_date date NOT NULL
);

下面是表中的insert语句:

INSERT INTO inventory (name, department,inventory_type,expiry_date) VALUES ('om', 'Education','Raw', '01/01/2016');
INSERT INTO inventory (name, department,inventory_type,expiry_date) VALUES ('hari', 'HR','Solid' ,'02/02/2016');
INSERT INTO inventory (name, department,inventory_type,expiry_date) VALUES ('hariom', 'Finance','Other', '03/03/2016');

不幸的是,我得到

由:java.sql.sqldataException:datetime格式无效导致:在org.hsqldb.jdbc.jdbcutil.sqlException(未知源)~[hsqldb-2.3.2.jar:2.3.2]在org.hsqldb.jdbc.jdbcutil.sqlException(未知源)~[hsqldb-2.3.2.jar:2.3.2]在org.hsqldb.jdbc.jdbcutil.sqlException(未知源)~[hsqldb-2.3.2.jar:2.3.2]在C.datasource.init.scriptutils.executesQLScript(Scriptutils.java:457)~[spring-jdbc-4.1.6.release.jar:4.1.6.release]...60个常用框架被省略

谁能告诉我出了什么问题吗?

当我像下面这样更改语句时,它工作得很好:

INSERT INTO inventory (name, department, inventory_type, expiry_date) VALUES ('om', 'Education','Raw', '2016-01-01');
INSERT INTO inventory (name, department, inventory_type, expiry_date) VALUES ('hari', 'HR','Solid' ,'2016-02-02');
INSERT INTO inventory (name, department,inventory_type,expiry_date) VALUES ('hariom', 'Finance','Other', '2016-03-03');

共有1个答案

孟鹤龄
2023-03-14

谁能告诉我出了什么问题吗?

答案很简单,HSQLDB只接受符合'yyyy-mm-dd'格式的日期字符串。在某种程度上,它将允许我们从“正确的”HSQLDB日期文本值中省略date关键字

DATE '2016-01-02'

让我们简单地提供

sql prettyprint-override">'2016-01-02'
 类似资料:
  • 问题内容: 我正在尝试从转换日期。我已经使用了mktime()函数和其他函数,但是我似乎无法使其工作。我已经成功地将原始日期用作定界符,但更改格式并将其与交换时没有成功。 任何帮助将不胜感激。 问题答案: 通过查看各个组成部分之间的分隔符,可以消除或格式中的日期的歧义:如果该分隔符是斜杠(),则假定为American ;否则,为0。反之,如果分隔符是破折号()或点(),则采用欧洲格式。 使用默认的

  • 我有一个格式为。我希望它的格式为 下面是我尝试进行此转换的示例util: 但是,我得到的输出不是格式。 请告诉我如何将从格式化为

  • 我从格式为yyyy-mm-dd(加上不需要的hh-mm-ss)的API中获取日期结果。我想在jQuery中将其转换为dd-mm-yyyy格式,最简单/最快的方法是什么? 目前我正在使用:(对于返回的字符串yyyy-mm-dd): 但是好像有点啰嗦。

  • 问题内容: 我有一个日期列,其中日期格式为 在SQL Server中。有什么可能的方法来检索日期格式为 在选择语句中? 问题答案: 试试这个: 源链接 附录1: 如我的评论中所述,您需要先将字段转换为类型,然后才能执行上述操作。此示例应在您的SQL Server上运行: 如果出现此异常: 消息242,级别16,状态3,行1将varchar数据类型转换为datetime数据类型导致超出范围的值。 然

  • 问题内容: 我有一个格式。我希望它采用以下格式 以下是我尝试进行此转换的示例: 我得到的输出仍然不是格式。 请让我知道如何格式化从到 问题答案: 是自Unix纪元(1970年1月1日UTC:00:00)以来的毫秒数的容器。 它没有格式的概念。 输出…

  • 我正在尝试将yyyy-mm-dd't'hh:mm:ss.sssz格式的日期格式化为yyyy-mm-ddhh:mm:ss,这应该很容易,但我无法使其工作。 必须解析的日期形式为:2012-10-01T09:45:00.000+02:00 现在我使用这个简单的日期格式化程序来格式化它: 然而,这给出的输出类似于2012-10-01T09:45:00.000 UTC+00:00。 我还尝试使用“yyyy