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

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

问题现象

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

11.jpeg

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

问题的风险及影响

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

问题影响的版本

所有的 YashanDB 驱动。

问题发生原因

YashanDB 驱动内部实现问题。

解决方法及规避方式

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

相关文章
|
SQL 存储 关系型数据库
【YashanDB知识库】共享从 MySQL异常处理CONTINUE HANDLER的改写方法
【YashanDB知识库】共享从 MySQL异常处理CONTINUE HANDLER的改写方法
|
Java 数据库连接 数据库
YashanDB JDBC驱动应用示例
本文来自YashanDB官网,主要介绍YashanDB的JDBC驱动安装与基础操作示例。内容涵盖示例环境(JDBC驱动、JDK、JRE版本要求)、安装前准备(JDK/JRE安装与验证)、JDBC驱动安装步骤(目录创建、软件包上传与环境配置)以及Java文件编写(连接数据库代码示例与编译执行方法)。通过本文,开发者可快速上手使用YashanDB的JDBC驱动开发应用。
|
SQL 关系型数据库 MySQL
【YashanDB知识库】MySQL field 函数的改写方法
【YashanDB知识库】MySQL field 函数的改写方法
|
存储 关系型数据库 MySQL
【YashanDB知识库】共享从 MySQL异常处理CONTINUE HANDLER的改写方法
本文介绍了MySQL中`CONTINUE HANDLER FOR NOT FOUND`的用法及其在YashanDB中的改写方法。通过一个示例存储过程,展示了如何使用游标和异常处理机制来应对“未找到数据”的情况。在MySQL中,`CONTINUE HANDLER`用于捕获此类异常;而在YashanDB中,则需改用游标的`%NOTFOUND`属性和`NO_DATA_FOUND`异常处理。文章对比了两者的执行效果,帮助用户顺利完成从MySQL到YashanDB的业务迁移。
|
SQL druid Java
【YashanDB知识库】共享超过32000字节字符串插入CLOB类型方案
本文来自YashanDB官网,介绍了解决向崖山数据库CLOB类型字段插入超过32000字节字符串时出现的YAS-04107错误的方法。通过JDBC动态变量绑定技术,实现对不同表的超长字符串插入支持。方案基于YashanDB JDBC和Druid组件,动态解析SQL语句并绑定变量,提供通用性。文章包含关键代码示例及程序使用说明,需JDK 1.8环境运行,并提供附件下载以辅助实施。
|
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`目录下,最后重启应用即可。
|
SQL 存储 Oracle
【YashanDB知识库】对比Oracle和YashanDB对象不一致的方法
本文来自YashanDB官网,介绍从Oracle迁移到YashanDB后的数据校验方法。通过YMP工具迁移数据后,可使用其内置校验功能,或采用本文提供的复杂对比思路:将Oracle的DBA_*数据字典视图保存为用户表,借助YMP同步至YashanDB,再利用SQL查询两数据库间的差异。具体包括视图、存储过程、索引和约束等对象的对比方法,提供详细SQL示例以供参考和修改。
|
存储 SQL 关系型数据库
【YashanDB知识库】为什么YashanDB只有Geometry类型,没有Geogrephy类型
【YashanDB知识库】为什么YashanDB只有Geometry类型,没有Geogrephy类型
【YashanDB知识库】为什么YashanDB只有Geometry类型,没有Geogrephy类型
|
SQL 关系型数据库 MySQL
【YashanDB知识库】MySQL field 函数的改写方法
本文来自YashanDB官网,介绍将MySQL的FIELD函数改写到YashanDB的方法。MySQL中,FIELD函数用于自定义排序;而在YashanDB中,可使用DECODE或CASE语句实现类似功能。示例展示对表`t1`按指定顺序排序的过程,提供两种改写方式,结果均符合预期。
|
存储 关系型数据库 MySQL
【YashanDB知识库】MySQL返回结果集的存储过程的改写方法
本文介绍了将MySQL存储过程改写至YashanDB的解决方案。由于MySQL存储过程可直接返回结果集,而YashanDB需通过返回SYS_REF_CURSOR的函数实现类似功能,因此需要对代码进行转换。示例中展示了如何将MySQL存储过程`proc1`改写为YashanDB函数,并调整JDBC应用代码以适配REF_CURSOR输出参数,从而正确获取查询结果。此方法确保了跨数据库场景下的兼容性与功能性。