这是我当前的mysql表
| 身份证|姓名|失效日期|到期时间|
| - ------|- ------|- ------|- ------|
| 1个|样品1|二○二三年一月九日|上午11时|
| 第二章|样品2|二○二三年一月九日|下午三点|
| 三个|样品3|二○二三年一月八日|晚上十点|
质询:
select *
from table
where STR_TO_DATE(table.expiry_date, '%d-%m-%Y') < '2023-01-09'
OR (DATE_FORMAT(concat(table.expiry_date,' ',table.expiry_time),'%d-%m-%Y %g:%i %A') <= NOW()))
我还希望获得截至目前已过时的记录。
如何做到这一点?
1条答案
按热度按时间wtlkbnrh1#
您可以使用
STR_TO_DATE
转换您的varchar日期,如下所示:您可以在这里查看:https://dbfiddle.uk/emR4cg3s