You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改H2数据库INSERT语句,实现插入当前日期减1天的10:50:00时间值

H2数据库动态插入昨日固定时间SQL写法

你可以直接使用以下适配H2语法的INSERT语句,完全符合用NOW()计算得到昨日10:50:00的需求:

INSERT INTO my_table(name, start_date) VALUES('test', DATE_TRUNC('day', NOW()) - INTERVAL '1' DAY + INTERVAL '10:50' HOUR TO MINUTE);

语法说明

  • DATE_TRUNC('day', NOW()):将当前时间的时分秒部分截断,得到今日0点的时间戳
  • - INTERVAL '1' DAY:减去1天时间间隔,得到昨日0点的时间戳
  • + INTERVAL '10:50' HOUR TO MINUTE:叠加10小时50分钟的时间间隔,最终得到昨日10:50:00的完整时间

如果你使用的H2版本较低不支持DATE_TRUNC函数,可以改用兼容的字符串拼接写法:

INSERT INTO my_table(name, start_date) VALUES('test', PARSEDATETIME(FORMATDATETIME(DATEADD('day', -1, NOW()), 'yyyy-MM-dd') || ' 10:50:00', 'yyyy-MM-dd HH:mm:ss'));

兼容写法说明

  • DATEADD('day', -1, NOW()):基于当前时间减去1天,得到昨天的完整时间
  • FORMATDATETIME(...):把昨天的时间格式化为yyyy-MM-dd格式的纯日期字符串
  • 拼接固定的 10:50:00时间部分后,用PARSEDATETIME函数转回时间类型即可插入

内容的提问来源于stack exchange,提问作者Stéphane GRILLON

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 01:45:03