我在从 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/