TransactSQL数据库中的Groovy(Java)存储时间(以毫秒为单位)(Microsoft SQL Server 2008 R2)

时间:2012-12-24 12:37:49

标签: 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]);

如果我使用调试器观察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"如果有人知道如何创建另一个使用此输入格式的日期对象请告诉我:)

1 个答案:

答案 0 :(得分:1)

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