ITPub博客

首页 > 数据库 > 数据库开发技术 > 【YashanDB 知识库】JDBC 查询 date 字段不返回时分秒?别只用 getString!

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

原创 数据库开发技术 作者:makabala 时间:2025-05-15 10:35:04 0 删除 编辑

问题现象

在通过 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 驱动。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70045450/viewspace-3084297/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2025-04-10

  • 博文量
    231
  • 访问量
    229273