写点什么

【YashanDB 知识库】JDBC 查询 date 字段不返回时分秒? 别只用 getString!

作者:数据库砖家
  • 2025-05-15
    广东
  • 本文字数:357 字

    阅读完需:约 1 分钟

问题现象

在通过 YashanDB JDBC 驱动查询 date 类型字段时,若使用如下方式:

rs.getString(1);
复制代码

返回的结果只包含日期(例如 2024-05-01),不包含时分秒部分

问题影响

数据看似缺失时分秒,容易误导业务逻辑;

某些依赖完整时间戳的功能出现误判或异常。

根因分析

YashanDB JDBC 驱动在处理 date 类型字段时,getString() 默认只格式化为 yyyy-MM-dd,未自动附加时间部分。

解决方案

推荐使用 getTimestamp() 获取完整时间信息:

String datetime = rs.getTimestamp(1).toString();  // 返回:2024-05-01 14:30:00.0
复制代码

或在 JDBC 连接串中加入:

mapDateToTimestamp=true
复制代码

例如:

jdbc:yashandb://localhost:8080/dbname?mapDateToTimestamp=true
复制代码

建议总结

如业务依赖完整时间,务必使用 getTimestamp();

若框架不可更改,可通过连接参数启用自动映射;

此行为适用于所有版本 YashanDB 驱动。

用户头像

还未添加个人签名 2025-04-09 加入

还未添加个人简介

评论

发布
暂无评论
【YashanDB 知识库】JDBC 查询 date 字段不返回时分秒?别只用 getString!_数据库_数据库砖家_InfoQ写作社区