我将在查询中给出顺序,例如:
SELECT * FROM `sales_report` ORDER BY `cancel_date`, `pur_date`
但是它不起作用,您能否检查一下此查询中存在什么问题,因为它不是订购日期?
pur_date 类型是日期,cancel_date 类型是文本,所以这是问题吗?我无法更改其类型。
我回应了不同的想法:
if(cancel_date != ''){
$transection_date = cancel_date;
}
else {
$transection_date = pur_date;
}
最佳答案
尝试使用STR_TO_DATE()
功能:
SELECT
*
FROM
`sales_report`
ORDER BY
STR_TO_DATE(`cancel_date`, '%Y-%m-%d'), `pur_date`;
正如评论中提到的zerkms:您应该使用格式说明符,具体取决于cancel_date
列中的文本值。
关于php - ORDER BY 两个日期mysql查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16834404/