为什么HSQL Concat不适用于MS SQL?

问题描述 投票:0回答:2

因此,我在一个连接到不同引擎(MySql,Oracle,PostgreSQL和MS SQL)的项目中拥有Hibernate 5.3.1,因此我不能使用本机查询。

假设我在一个表中有3条记录,所有记录都具有相同的日期时间,但是我需要将它们分组为[[仅按日期(而不是时间)。 例如,2019-12-04;

我执行此查询:

SELECT CONCAT(year(tx.date_), month(tx.date_), day(tx.date_)), iss.code FROM tx_ tx JOIN issuer_ iss ON tx.id_issuer = iss.id GROUP BY CONCAT(year(tx.date_), month(tx.date_), day(tx.date_)), iss.code

但是,当我测试它连接到SQL SERVER 2017时,它返回

2035

而不是返回20191204。在Oracle和MySQL中工作正常。任何人都知道为什么会这样吗?我尝试了不同的方法,例如使用

+

而不是CONCAT,但结果是相同的。我还尝试将它们提取为单独的(没有concat),并且它们一直返回正确的值。问题是,我需要按完成日期将它们分组。

并且仅作记录,

该字段在DDBB中声明为datetime2

因此,我在一个连接到不同引擎(MySql,Oracle,PostgreSQL和MS SQL)的项目中拥有Hibernate 5.3.1,因此我不能使用本机查询。假设我在一个表中有3条记录,所有这些都...
sql-server hibernate hsqldb concat
2个回答
2
投票
如何简单地添加它们,而不使用CONCAT

0
投票
感谢Gert Arnold给我的提示。我只是没有意识到查询的添加就像它们是MS SQL中的数字一样。
© www.soinside.com 2019 - 2024. All rights reserved.