我正在导入包含 2 个字段的 csv 文件,即 sales,date
。 Csv 文件将如下所示
100,2014-07-01
100,2014-07-03
100,2014-07-04
100,garbaze date
我已经迁移到mysql如下
id date_input
100 2014-07-01
100 2014-07-3
100 2014-07-04
100 garbaze date
不幸的是 date_input 是 varchar ,现在我需要删除 garbaze 值并仅显示真实日期
id date_input
100 2014-07-01
100 2014-07-3
100 2014-07-04
我试过了
SELECT * FROM TABLE WHERE date_input LIKE '20%'
但有时 garbaze 可能是 20-date-garbaze 有什么想法吗?
我无法将 date_input 的数据类型设置为日期,因为我正在加载数据以将记录从 csv 导入 mysql。一种数据类型不匹配将停止所有其他导入
最佳答案
将日期转换成unix时间戳并检查
SELECT * FROM table WHERE unix_timestamp(date_input) >0
注意:对于非日期值,unix_timestamp 将返回 0(零)
关于php - 过滤有效日期-mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24892174/