如何使用 Spring Boot 从 SQL Server 获取当前数据库时间

Posted

技术标签:

【中文标题】如何使用 Spring Boot 从 SQL Server 获取当前数据库时间【英文标题】:How to get current DB time from SQL Server using spring boot 【发布时间】:2021-11-17 13:28:20 【问题描述】:

当我有以下代码来获取数据库时间时,我正在使用 Spring Boot 和 SQL Server 并意外结束子树;

@Query("SELECT CURRENT_TIMESTAMP")
public Timestamp getTime();

SELECT CURRENT_TIMESTAMP 在 SQL Server 中运行时可以工作。

当我执行以下操作时,我会根据表格的行数获得时间戳,但在一个列表中:

@Query("SELECT CURRENT_TIMESTAMP from MYTABLE")
public Timestamp getTime();

【问题讨论】:

我从您的问题中删除了您的答案,因为您已正确地将其添加为答案。 【参考方案1】:

好的,我通过以下方式修复了它:

@Query(value = "SELECT CURRENT_TIMESTAMP", nativeQuery = true)
public Timestamp getTime();

【讨论】:

【参考方案2】:

Java Persistence 查询语言包括内置的日期时间函数,可以在查询的 WHERE 或 HAVING 子句中使用。如:-

functions_returning_datetime:=
             CURRENT_DATE |
             CURRENT_TIME |
             CURRENT_TIMESTAMP

这样你就可以得到它:-

@Query(value = "SELECT CURRENT_TIMESTAMP", nativeQuery = true)
public Timestamp getTime();

【讨论】:

以上是关于如何使用 Spring Boot 从 SQL Server 获取当前数据库时间的主要内容,如果未能解决你的问题,请参考以下文章

使用 Spring Boot 时如何使用 SpringTemplateEngine

无法从 Spring Boot 应用程序连接不间断 SQL

使用@sql spring boot test从资源文件夹以外的自定义位置读取.sql文件

如何通过 Spring Boot JPA 执行具有 INTERVAL 子句的本机 SQL 查询?

从spring boot simpleJDBCcall调用PL SQL过程时出错

如何在Spring Boot和Spring Data中使用两个Cassandra数据源?