我正在学习更多关于SQL的知识,并且已经发现它已经解决了我将要在PHP中进行后期修复的问题,现在我发现mysql可以在回溯中做到。
我的查询就是这个。
SELECT *
FROM `messages`
LEFT JOIN `users` ON messages.message_by = users.id
WHERE job_id = '135'
ORDER BY message_date DESC
但我现在想要这样做,
SELECT DATE_ADD(`message_date`, INTERVAL 6 HOUR) AS `message_date`, *
FROM `messages`
LEFT JOIN `users` ON messages.message_by = users.id
WHERE job_id = '135'
ORDER BY message_date DESC
date_add部分修复了时区差异问题,但是当我把它放在语句的选择部分时,我现在不知道如何使用*(然后是其他所有内容)它不起作用。我不想在检索之后列出每个字段,因为我已经添加了这个日期修复...
有什么办法吗?感谢。
答案 0 :(得分:1)
只需添加表格的名称,它就可以正常工作
SELECT DATE_ADD(`message_date`, INTERVAL 6 HOUR) AS `message_date`, messages.*
FROM `messages`
LEFT JOIN `users` ON messages.message_by = users.id
WHERE job_id = '135'
ORDER BY message_date DESC
另外,您确定需要选择所有字段吗?您只需选择所需的列即可提高速度。