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

如何在H2数据库中正确查询校验TIMESTAMP类型时间戳数据

H2数据库日期校验场景SQL语法修正

原错误写法的问题在于TIMESTAMP关键字后直接使用无包裹的裸数字串作为日期值,不符合H2的语法规范,触发执行报错。以下是该场景下的合法写法:

  • 标准时间戳字面量写法
    H2的SQL标准中,TIMESTAMP类型的字面量需要用单引号包裹,格式遵循yyyy-MM-dd HH:mm:ss规范,仅传入日期时默认解析为当日00:00:00:
    WHERE lim.REVIEW_DATE >= TIMESTAMP '2022-06-06 00:00:00'
    
  • 简化日期比较写法
    如果只需要按日期维度比较,不需要精确到时分秒,可以直接使用DATE关键字,写法更简洁:
    WHERE lim.REVIEW_DATE >= DATE '2022-06-06'
    
  • 适配yyyyMMdd格式数字串的写法
    如果你的入参本身就是20220606这类无分隔符的日期串,可以用H2内置的PARSEDATETIME函数按指定格式解析,不需要手动拼接分隔符:
    WHERE lim.REVIEW_DATE >= PARSEDATETIME('20220606', 'yyyyMMdd')
    

*注意:H2中所有日期、时间、时间戳类型的字面量值必须用单引号包裹,直接传入裸数字串会被识别为算术表达式,触发语法报错。

内容的提问来源于stack exchange,提问作者Neelima kuchipudi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.31 12:03:23