我想用mysql选择5天前的记录,但问题是我的日期列是varchar,格式如下yyyy-mm-dd 00:00:00 AM / PM。
如何将此日期格式转换为mysql日期并从5天后选择记录?
我的日期列名称是'date_time'
答案 0 :(得分:0)
试试这个。
... WHERE DATE(STR_TO_DATE(date_time,'%Y-%m-%d %h:%i:%s %p')) = CURDATE() - INTERVAL 5 DAY
'%Y-%m-%d %h:%i:%s %p'
DATE_FORMAT() string符合您的文字日期格式。
如果您必须搜索大量行,这将永远不会很快,因为它不是sargable。它无法利用索引。