【YashanDB 知识库】JDBC 驱动的 date 类型字段结果集调用 getString 方法只返回日期,不返回时分秒

简介: **问题简介:**在使用 JDBC 驱动查询 YashanDB 的 date 类型字段时,直接调用 ResultSet 的 getString 方法仅返回 YYYY-MM-DD 格式的日期字符串,缺少时分秒信息,影响业务逻辑。此问题存在于所有 YashanDB 驱动版本,原因是驱动内部实现问题。解决方法包括使用 `rs.getTimestamp(1).toString()` 或在 JDBC 连接串中添加 `mapDateToTimestamp=true` 参数。**风险及影响:**返回的字符串只有日期部分,缺失时间信息,可能导致业务逻辑异常。

问题现象

JDBC 驱动查询 date 类型字段,对 ResultSet 直接调用 getString 方法,驱动返回的字符串只有日期,没有时分秒。

2.jpeg

如上 Java 代码片断只返回 YYYY-MM-DD 类型的字符串,没有带时分秒

问题的风险及影响

返回的字符串只有日期,没有时分秒,影响业务逻辑。

问题影响的版本

所有的 YashanDB 驱动。

问题发生原因

YashanDB 驱动内部实现问题。

解决方法及规避方式

使用 rs.getTimestamp(1).toString()规避,或者在 jdbc 驱动连接串增加 mapDateToTimestamp=true(文档链接:

相关文章
|
27天前
|
SQL 存储 关系型数据库
【YashanDB知识库】共享从 MySQL异常处理CONTINUE HANDLER的改写方法
【YashanDB知识库】共享从 MySQL异常处理CONTINUE HANDLER的改写方法
|
22天前
|
Java 数据库连接 数据库
YashanDB JDBC驱动应用示例
本文来自YashanDB官网,主要介绍YashanDB的JDBC驱动安装与基础操作示例。内容涵盖示例环境(JDBC驱动、JDK、JRE版本要求)、安装前准备(JDK/JRE安装与验证)、JDBC驱动安装步骤(目录创建、软件包上传与环境配置)以及Java文件编写(连接数据库代码示例与编译执行方法)。通过本文,开发者可快速上手使用YashanDB的JDBC驱动开发应用。
|
27天前
|
SQL 关系型数据库 MySQL
【YashanDB知识库】MySQL field 函数的改写方法
【YashanDB知识库】MySQL field 函数的改写方法
|
29天前
|
存储 关系型数据库 MySQL
【YashanDB知识库】共享从 MySQL异常处理CONTINUE HANDLER的改写方法
本文介绍了MySQL中`CONTINUE HANDLER FOR NOT FOUND`的用法及其在YashanDB中的改写方法。通过一个示例存储过程,展示了如何使用游标和异常处理机制来应对“未找到数据”的情况。在MySQL中,`CONTINUE HANDLER`用于捕获此类异常;而在YashanDB中,则需改用游标的`%NOTFOUND`属性和`NO_DATA_FOUND`异常处理。文章对比了两者的执行效果,帮助用户顺利完成从MySQL到YashanDB的业务迁移。
|
29天前
|
Java 数据库连接
【YashanDB知识库】Springboot启动找不到崖山jdbc驱动的问题处理
本文来自YashanDB官网,主要解决SpringBoot应用启动时出现“找不到崖山JDBC驱动”的问题,尽管lib目录下已有yashandb-jdbc-1.6.9.jar文件。错误信息显示`java.lang.ClassNotFoundException: com.yashandb.jdbc.Driver`。解决方案为:通过`which java`等命令定位Java安装路径,将驱动jar包复制到JRE的`lib/ext`目录下,最后重启应用即可。
|
29天前
|
SQL 存储 Oracle
【YashanDB知识库】对比Oracle和YashanDB对象不一致的方法
本文来自YashanDB官网,介绍从Oracle迁移到YashanDB后的数据校验方法。通过YMP工具迁移数据后,可使用其内置校验功能,或采用本文提供的复杂对比思路:将Oracle的DBA_*数据字典视图保存为用户表,借助YMP同步至YashanDB,再利用SQL查询两数据库间的差异。具体包括视图、存储过程、索引和约束等对象的对比方法,提供详细SQL示例以供参考和修改。
|
29天前
|
SQL 关系型数据库 MySQL
【YashanDB知识库】MySQL field 函数的改写方法
本文来自YashanDB官网,介绍将MySQL的FIELD函数改写到YashanDB的方法。MySQL中,FIELD函数用于自定义排序;而在YashanDB中,可使用DECODE或CASE语句实现类似功能。示例展示对表`t1`按指定顺序排序的过程,提供两种改写方式,结果均符合预期。
|
29天前
|
存储 关系型数据库 MySQL
【YashanDB知识库】MySQL返回结果集的存储过程的改写方法
本文介绍了将MySQL存储过程改写至YashanDB的解决方案。由于MySQL存储过程可直接返回结果集,而YashanDB需通过返回SYS_REF_CURSOR的函数实现类似功能,因此需要对代码进行转换。示例中展示了如何将MySQL存储过程`proc1`改写为YashanDB函数,并调整JDBC应用代码以适配REF_CURSOR输出参数,从而正确获取查询结果。此方法确保了跨数据库场景下的兼容性与功能性。
|
29天前
|
Java 数据库连接 Maven
【YashanDB知识库】私有maven使用崖山JDBC驱动
本文介绍如何将YashanDB的JDBC驱动包(yashandb-jdbc-1.5.1.jar)安装到Maven本地仓库。通过使用`mvn install:install-file`命令,指定参数如`-Dfile`(jar路径)、`-DgroupId`、`-DartifactId`和`-Dversion`等,可完成打包。之后,在项目中只需在`pom.xml`中添加对应依赖即可使用该驱动,方便集成与管理。
|
10天前
|
SQL 测试技术 数据库
【YashanDB知识库】IMP跨网络导入慢问题
问题现象:290M数据,本地导入2分钟,跨机导入耗时显著增加(最高30分钟)。 原因分析:`imp`逐条SQL通过网络传输至yashanDB执行,交互频繁导致性能下降。 影响版本:客户测试环境22.2.8.3。 解决方法:将导入文件上传至与yashanDB同机后使用`imp`,减少网络延迟。 经验总结:优化`imp`工具,支持直接上传文件至服务器端执行,降低网络依赖。

热门文章

最新文章

下一篇
oss创建bucket