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

问题现象

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值