java - 无法获取时间戳值

标签 java sql sql-server jdbc

我在从 SQL Server 获取列时遇到问题。

数据库有一个timestamp类型的列,我尝试在Java中设置该值,但收到以下消息错误消息:

com.microsoft.sqlserver.jdbc.SQLServerException:时间戳到 TIMESTAMP 的转换类型不兼容。

我的Java代码是:

dtoOperacion.setExtractionDate(rs.getTimestamp(7));

属性extractionDate是类型java.sql.Timestamp

是否有 JDBC Sql Server 指定的类型可供我用于此目的?

最佳答案

我认为您首先在表中使用了错误的数据类型。您应该使用 Datetime 而不是 TimeStamp 数据类型。根据 SQL Server 文档,时间戳是 -

“是一种数据类型,公开数据库中自动生成的唯一二进制数。时间戳通常用作版本标记表行的机制。存储大小为 8 个字节。时间戳数据类型只是一个递增数字并且不保留日期或时间。要记录日期或时间,请使用日期时间数据类型。”

关于java - 无法获取时间戳值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24456350/

相关文章:

java - 上传到 Amazon S3 时命名文件

java - 在 arraylist 中保存类名并将参数发送到 Java 中的方法

mysql - sql:使用同一键左连接多表

java - sql查询中的这个占位符是什么?

c# - 如何执行参数化 SQL 查询(使用带@变量的 LIKE)

java - Rest 身份验证 - 使用数据库查找进行 token 验证与替代方案

java - 用于容器化应用程序的 Open JDK 和 Oracle JDK 之间的区别

java - hibernate 从查询创建通用对象

sql-server - Sql Server Rijndael加密解密

c++ - ODBC : Array of Parameters - ignoring parameter