From 67f658ced212815de9b3c4fe0194513d73f6218e Mon Sep 17 00:00:00 2001 From: yangde <34122685+yonyong@users.noreply.github.com> Date: Thu, 9 Nov 2023 10:30:02 +0800 Subject: [PATCH] (fix)(semantic) Fixed monday time fetch under MysqlAdaptor (#340) --- .../model/domain/adaptor/engineadapter/MysqlAdaptor.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/semantic/model/src/main/java/com/tencent/supersonic/semantic/model/domain/adaptor/engineadapter/MysqlAdaptor.java b/semantic/model/src/main/java/com/tencent/supersonic/semantic/model/domain/adaptor/engineadapter/MysqlAdaptor.java index 837214b42..c47571418 100644 --- a/semantic/model/src/main/java/com/tencent/supersonic/semantic/model/domain/adaptor/engineadapter/MysqlAdaptor.java +++ b/semantic/model/src/main/java/com/tencent/supersonic/semantic/model/domain/adaptor/engineadapter/MysqlAdaptor.java @@ -16,7 +16,7 @@ public class MysqlAdaptor extends EngineAdaptor { if (TimeDimensionEnum.MONTH.name().equalsIgnoreCase(dateType)) { return "DATE_FORMAT(%s, '%Y-%m')".replace("%s", column); } else if (TimeDimensionEnum.WEEK.name().equalsIgnoreCase(dateType)) { - return "to_monday(from_unixtime(unix_timestamp(%s), 'yyyy-MM-dd'))".replace("%s", column); + return "DATE_FORMAT(DATE_SUB(%s, INTERVAL (DAYOFWEEK(%s) - 2) DAY), '%Y-%m-%d')".replace("%s", column); } else { return "date_format(str_to_date(%s, '%Y%m%d'),'%Y-%m-%d')".replace("%s", column); } @@ -24,7 +24,7 @@ public class MysqlAdaptor extends EngineAdaptor { if (TimeDimensionEnum.MONTH.name().equalsIgnoreCase(dateType)) { return "DATE_FORMAT(%s, '%Y-%m') ".replace("%s", column); } else if (TimeDimensionEnum.WEEK.name().equalsIgnoreCase(dateType)) { - return "to_monday(from_unixtime(unix_timestamp(%s), 'yyyy-MM-dd'))".replace("%s", column); + return "DATE_FORMAT(DATE_SUB(%s, INTERVAL (DAYOFWEEK(%s) - 2) DAY), '%Y-%m-%d')".replace("%s", column); } else { return column; }