java-在H2数据库中插入时间-找不到函数“ PARSEDATETIME”

我有这张桌子

   -- table T_TIME_LAPSE H2 Database Engine
CREATE TABLE IF NOT EXISTS t_time_lapse (
      id          bigint  PRIMARY KEY,
      name        varchar(50) NOT NULL,
      description varchar(200) NOT NULL,
      sunday      boolean DEFAULT NULL,
      monday      boolean DEFAULT NULL,
      tuesday     boolean DEFAULT NULL,
      wednesday   boolean DEFAULT NULL,
      thursday    boolean DEFAULT NULL,
      friday      boolean DEFAULT NULL,
      saturday    boolean DEFAULT NULL,
      init_period date    NOT NULL ,
      end_period  date    NOT NULL ,
      init_time   time    DEFAULT NULL,
      end_time    time    DEFAULT NULL,
      company_id  bigint DEFAULT NULL,
 );

我尝试在其中插入TIME Type(*日期数据类型的值.格式为yyyy-MM-dd.映射到java.sql.Date,时间设置为00:00:00(或下一个可能的时间)的地方如果由于夏令时更改而在给定的日期和时区不存在午夜).)

    -- table     t_time_lapse
insert into T_TIME_LAPSE (ID, NAME, DESCRIPTION, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY, INIT_PERIOD, END_PERIOD, INIT_TIME, END_TIME, COMPANY_ID) 
    values (1777,'key', 'key', 1,1,1,1,1,1,1,CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, PARSEDATETIME('12:22','HH:mm'), PARSEDATETIME('16:22','HH:mm'), 1);

但是我得到这个错误

Function "PARSEDATETIME" not found; SQL statement:

解决方法:

您的语法有误,您在查询中遗漏了”

PARSEDATETIME('16:22', 'HH:MM'), 1)
//---------------------^-----^

检查语法,它应该与H2 parsedatetime的日期如何

因此您的查询应像这样结束:

..., PARSEDATETIME('12:22', 'HH:mm'), PARSEDATETIME('16:22', 'HH:mm'), 1));
上一篇:H2 7-8 按正整数的相反数字顺序输出


下一篇:java-h2数据库的jdbc连接字符串是什么?