php - 过滤有效日期-mysql

标签 php mysql sql csv

我正在导入包含 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/

相关文章:

c++ - ODBC 文档清晰度

MySQL - NOT IN WHERE 子句中的查询具有相同的结构,适用于第一个表但不适用于第二个表

php - Paypal IPN未发送,握手未验证。请查看您的信息

mysql - 这个MySQL触发器是线程安全的吗?

PHP 不再添加到数据库

MySQL LIMIT 和 GROUP BY 与 JOIN

php - Mysql 没有返回预期结果

mysql - 从单个 SQL 查询返回聚合结果行

php - 如何使用 PHP 从动态页面复制内容?

php - OO设计问题(使用Symfony2)