我在cakephp框架中工作,
我将日期字符串存储在varchar字段中。我需要在需要更改格式之后将其转换为时区。这是查询。
SELECT DATE_FORMAT(cast( CONVERT_TZ(`leads`.`221`,
'UTC',
'America/Los_Angeles') as datetime), '%b %d %Y %h:%i %p')
from leads order by DATE_FORMAT(cast( CONVERT_TZ(`leads`.`221`,
'UTC',
'America/Los_Angeles') as datetime), '%b %d %Y %h:%i %p') desc.
这里时区隐蔽,日期格式一切正常。但是在对这个字段进行排序时,它的工作方式就像字母顺序而不是日期排
我知道我们需要从字段中删除额外的mysql函数。然后只有当我们给予
时才有效 `order by `leads`.`221` desc`
但我无法这样做。因为它是由cakephp框架创建的。我无法覆盖。
请提供解决方案。
答案 0 :(得分:0)
在查询中使用AS可让您按照正在进行的操作进行排序。
SELECT DATE_FORMAT(cast( CONVERT_TZ(`leads`.`221`,
'UTC',
'America/Los_Angeles') as datetime), '%b %d %Y %h:%i %p')
as `new_date` from `leads` order by `new_date` DESC;