mysql - 如果字符串在 MySQL 中格式化为 mm/yy,如何选择大于 mm/yy 的字符串
问题描述
我有一个名为的列exp_date
,日期为 mm/yy。即:07/17。我想选择 exp_date 大于 07/17 的所有行
请注意 exp_date 类型是 varchar(6)
解决方案
您有字符串格式,您需要将其转换为日期格式以进行比较:
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
推荐阅读
- mysql - 如何将sql结果作为对象获取
- windows - 使用 zip 命令指定与当前目录不同的路径
- javascript - HTML 第一行中出现意外的标记 < 我做错了什么?
- c++ - 修改类内的指针
- angular - 使用 Phoenix.js 连接 Angular 9
- azure - Asp.net 核心 API 服务器在本地测试时将事件记录到 Confluent Cloud Kafka,但在托管在 Azure 应用服务上时不记录
- javascript - 如何用更少的行数优化下面的代码?
- ios - 如何模拟 NSUbiquitousKeyValueStore 进行单元测试?
- azure - 如何对遥测传送到 Application Insights 存储桶进行故障排除?
- r - 如何使用函数从数据帧的每一行生成多行,然后将它们重新加入/合并?