Scala,SQL Server-如何使用Scala将当前时间戳作为SQL Server中的DateTime插入



我想使用Scala将当前时间戳作为DateTime数据类型插入SQL Server。

到目前为止,我已经尝试过:

import java.time.LocalDateTime
import java.time.format.DateTimeFormatter
var currentTimeStamp = LocalDateTime.now()
val datetimeFormat = DateTimeFormatter.ofPattern("MM/dd/yyyy HH:mm a")
var insertTimestamp = currentTimeStamp.format(datetimeFormat)
myInsertStatement.setInt(1, insertTimestamp)

这使我以" mm/dd/yyyy hh:mm a"的格式插入timestamp,但这是一个字符串。不是SQL中的DateTime数据类型

我该怎么做?

提供您正在使用JDBC 4.2或更高(我相信我们大多数人都是(:

myInsertStatement.setObject(1, currentTimeStamp)

LocalDateTime对于时间戳来说是一个糟糕的选择,因为它不"知道"其时区,因此作为时间点模棱两可。虽然我不知道SQL Server,但对于大多数数据库引擎,最好将时间戳与数据库侧的时区和Scala侧的OffsetDateTime一起使用。

最新更新