我有这张桌子
-- 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));