首页 > 解决方案 > 如果字符串在 MySQL 中格式化为 mm/yy,如何选择大于 mm/yy 的字符串

问题描述

我有一个名为的列exp_date,日期为 mm/yy。即:07/17。我想选择 exp_date 大于 07/17 的所有行

请注意 exp_date 类型是 varchar(6)

标签: mysql

解决方案


您有字符串格式,您需要将其转换为日期格式以进行比较:

CREATE TABLE T (
    m varchar(5)
);

insert into t values 
('06/17'), 
('07/17'), 
('08/17'), 
('09/17'), 
('10/17');

select * 
from t
where str_to_date(m, '%m/%y') > str_to_date('07/17', '%m/%y');

看到它在这里工作:http ://sqlfiddle.com/#!9/37c425/2


推荐阅读