【发布时间】:2017-06-01 21:38:55
【问题描述】:
我遇到了麻烦,当我使用 CONCAT('2017-01-15', ' 00:00:00') 时,它给出的结果与我在 MySQL 中使用 DATE_FORMAT('2017-01-15', ' %Y-%m-%d 00:00:00') 的日期范围时不同。请问有什么想法吗?
例如我的查询是
SELECT SUM(payments) as pays
FROM table
WHERE employee_id = 25
AND `date` >= DATE_FORMAT('2017-05-16', '%Y-%m-%d 00:00:00')
AND `date` <= DATE_FORMAT('2017-05-31', '%Y-%m-%d 23:59:59')
GROUP BY employee_id
ORDER BY id DESC
并与 CONCAT
SELECT SUM(payments) as pays
FROM table
WHERE employee_id = 25
AND `date` >= CONCAT('2017-05-16', ' 00:00:00')
AND `date` <= CONCAT('2017-05-31', ' 23:59:59')
GROUP BY employee_id
ORDER BY id DESC
两者都给出不同的结果..
【问题讨论】:
-
“日期”是文本字段吗?
-
没有日期是 DATETIME 字段
-
可能是不同的时区?也许您正在从您的应用程序传递值,该应用程序使用与 MySQL 服务器不同的时区,并且当服务器使用 date_format 创建日期时间时,它在 MySQL 服务器的时区中?您应该比较(并可能在此处提供)您的 concat 和 date_format 函数的输出。
-
不,它不是时区问题,我很确定它.. 它的其他东西.. 脚本和 mysql 都在使用相同时区的同一台服务器上
标签: mysql date-format concat