在H2数据库上插入当前日期和时间

3

我想在我的H2数据库中插入带有特定时间的当前日期。

我这样做:

INSERT INTO PUBLIC.PROJECT(ID, LIBELLE, DESCRIPTION, STATUT, DATE_CREATION, DATE_MODIFICATION, USER_CREATEUR_ID, REFERENT_ID, DATE_DEBUT, DATE_FIN, TYPE, STATUT_PROJET) VALUES
(25001, 'Projet 1', NULL, 'INITIEE', CURRENT_DATE, CURRENT_DATE, NULL, 3, current_date -2 + time '23:00', current_date , NULL, NULL);

我有这个错误:

Impossible danalyser {0} constante {1} Cannot parse {0} constant {1}; SQL语句:

出了什么问题?


H2 可能不支持 current_date -2 + time '23:00' - user330315
1个回答

3

可以解析非标准时间字面量TIME '23:00',但只有1.4.198版本(请注意这是一个质量为beta的版本,请使用更新版本代替它)。

如果您需要使用旧版本(例如1.4.197),请使用标准字面量TIME '23:00:00'。如果您能升级,最好还是使用标准字面量。

请注意,整个构造current_date -2 + time '23:00'非常奇怪。虽然在旧版H2中可能需要使用,但如果您决定升级,则应使用带有间隔的更常规的日期时间运算,例如CURRENT_DATE - INTERVAL '2' DAY + TIME '23:00:00',而不是这完全非标准的东西。标准兼容的表达式应该是CAST(CURRENT_DATE AS TIMESTAMP) - INTERVAL '2' DAY + INTERVAL '23' HOUR,但它看起来不够美观。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接