[英]Insert current date with time on H2 database
我想在我的 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);
我有这个错误:
不可能的 danalyser {0} 常量 {1} 无法解析 {0} 常量 {1}; SQL 声明:
怎么了?
H2 只能从版本 1.4.198 开始解析非标准时间文字TIME '23:00'
(请注意,这是一个 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
,但它看起来不太好。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.