Java 如何在MSSQL中获取当前_日期?
我将JPA3.o与Hibernate一起使用。我有一个命名查询:Java 如何在MSSQL中获取当前_日期?,java,date,Java,Date,我将JPA3.o与Hibernate一起使用。我有一个命名查询: SELECT COUNT(wt.id) FROM WPSTransaction wt WHERE wt.createdDate>= CURRENT_DATE wptransaction是我的实体类,createdDate是我的类中的一列 它在Mysql数据库中运行良好。但是,我要转到SQL Server 2012,而SQL Server似乎没有编译当前\u日期值。我已经尝试了GETNOW()和NOW()方法以及curren
SELECT COUNT(wt.id) FROM WPSTransaction wt WHERE wt.createdDate>= CURRENT_DATE
wptransaction是我的实体类,createdDate是我的类中的一列
它在Mysql数据库中运行良好。但是,我要转到SQL Server 2012,而SQL Server似乎没有编译
当前\u日期
值。我已经尝试了GETNOW()
和NOW()
方法以及current\u date()
方法和current\u TIMESTAMP
但没有任何运气。在MS SQL中返回当前日期的函数是GETDATE(),因此您的查询应该是
SELECT COUNT(wt.id) FROM WPSTransaction wt WHERE wt.createdDate >= GETDATE()
在MS SQL中返回当前日期的函数是GETDATE(),因此您的查询应为
SELECT COUNT(wt.id) FROM WPSTransaction wt WHERE wt.createdDate >= GETDATE()
那么:
Query q = entityManager.createQuery("SELECT COUNT(wt.id) FROM WPSTransaction wt WHERE wt.createdDate>= :d");
q.setParam("d", new Date());
不需要特定于数据库的代码。如何:
Query q = entityManager.createQuery("SELECT COUNT(wt.id) FROM WPSTransaction wt WHERE wt.createdDate>= :d");
q.setParam("d", new Date());
不需要特定于数据库的代码。此处为MS SQL Server-它不提供当前日期
关键字
您必须改为使用SQL server特有的GETDATE()
函数,如链接的文档所示
因为current\u date
是规范中的一个关键字,所以不能在MS SQL中创建一个用户定义的current\u date()
函数,并期望它也能工作。不幸的是,您在这里只能使用特定于数据库的代码。这里是MS SQL Server-它没有提供当前\u日期
关键字
您必须改为使用SQL server特有的GETDATE()
函数,如链接的文档所示
因为current\u date
是规范中的一个关键字,所以不能在MS SQL中创建一个用户定义的current\u date()
函数,并期望它也能工作。不幸的是,您在这里只能使用特定于数据库的代码。我已经使用了GETDATE()方法。。但是它没有给出计数。GETDATE()返回日期和时间,因此此查询用于将来创建的行:我已经使用了GETDATE()方法。。但是它不提供计数。GETDATE()返回日期和时间,因此此查询用于将来创建的行:您能澄清“没有任何运气”的含义吗?您能澄清“没有任何运气”的含义吗?