Tsql Groovy(Java)在Transact-SQL数据库中以毫秒为单位存储时间(Microsoft SQL Server 2008 R2)

Tsql Groovy(Java)在Transact-SQL数据库中以毫秒为单位存储时间(Microsoft SQL Server 2008 R2),tsql,datetime,grails,groovy,java.util.date,Tsql,Datetime,Grails,Groovy,Java.util.date,您好,我有一个Grails应用程序,到目前为止它使用java.util.Date将计时值存储到Microsoft SQL Server数据库中 我将日期值以该格式加载到.csv文件中: java.util.Date send_date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS").parse(data[1]); 如果我用调试器查看varsend_date,毫秒字段的值正确millis=241 变量send_date是一个java.util.

您好,我有一个Grails应用程序,到目前为止它使用java.util.Date将计时值存储到Microsoft SQL Server数据库中

我将日期值以该格式加载到.csv文件中:

java.util.Date send_date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS").parse(data[1]);
如果我用调试器查看var
send_date
,毫秒字段的值正确
millis=241

变量
send_date
是一个
java.util.date
类型,它在我的数据库中创建了一个
Data type=datetime
列,但是数据库中的值是
2007-10-04 10:10:53.240
,这意味着毫秒是错误的。它总是随机出现,有时是正确的毫秒数有时是+1或-1


有人知道与我的数据库兼容的其他数据类型吗?我已经尝试了
java.sql.Date
,但是我没有构造函数来添加此格式
“yyyy-MM-dd HH:MM:ss.SSS”
如果有人知道如何使用此输入格式创建另一个日期对象,请告诉我:)

SQL Server的日期时间数据类型的分辨率为3毫秒。如果需要更高的分辨率,请使用DATETIME2数据类型。它的分辨率为100 ns。

SQL Server的日期时间数据类型的分辨率为3 ms。如果需要更高的分辨率,请使用DATETIME2数据类型。它的分辨率为100纳秒