Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 是否从SQL查询中删除不完整的ISO日期?_Mysql_Sql_Perl_Date_Iso - Fatal编程技术网

Mysql 是否从SQL查询中删除不完整的ISO日期?

Mysql 是否从SQL查询中删除不完整的ISO日期?,mysql,sql,perl,date,iso,Mysql,Sql,Perl,Date,Iso,我正在用Perl编写一个应用程序来处理MySQL数据库中的数据。我只需要选择具有有效ISO格式日期YYYY-MM-DD的记录。但是,许多记录没有月或日的值,因此它们类似于1999-00-00。我需要把这些过滤掉 我可以用Perl实现,但我认为最好的方法是在SQL语句中使用REGEXP函数;然而,我不确定这是否是最好的方式;我也不知道如何对数据进行正则化 谢谢你的建议 您可以随时使用: where DATE_COL not like '%-00-00' 一旦这样做了,请考虑将日期存储为日期而不是

我正在用Perl编写一个应用程序来处理MySQL数据库中的数据。我只需要选择具有有效ISO格式日期YYYY-MM-DD的记录。但是,许多记录没有月或日的值,因此它们类似于1999-00-00。我需要把这些过滤掉

我可以用Perl实现,但我认为最好的方法是在SQL语句中使用REGEXP函数;然而,我不确定这是否是最好的方式;我也不知道如何对数据进行正则化


谢谢你的建议

您可以随时使用:

where DATE_COL not like '%-00-00'

一旦这样做了,请考虑将日期存储为日期而不是字符串。@DanBracuk:mysql允许在其日期字段中存储部分日期,其中任何部分都可能为0。这有时很方便,但通常不方便。或者
where year(DATE\u COL)和month(DATE\u COL)以及dayofmonth(DATE\u COL)