Mysql 是否从SQL查询中删除不完整的ISO日期?
我正在用Perl编写一个应用程序来处理MySQL数据库中的数据。我只需要选择具有有效ISO格式日期YYYY-MM-DD的记录。但是,许多记录没有月或日的值,因此它们类似于1999-00-00。我需要把这些过滤掉 我可以用Perl实现,但我认为最好的方法是在SQL语句中使用REGEXP函数;然而,我不确定这是否是最好的方式;我也不知道如何对数据进行正则化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' 一旦这样做了,请考虑将日期存储为日期而不是
谢谢你的建议 您可以随时使用:
where DATE_COL not like '%-00-00'
一旦这样做了,请考虑将日期存储为日期而不是字符串。@DanBracuk:mysql允许在其日期字段中存储部分日期,其中任何部分都可能为0。这有时很方便,但通常不方便。或者
where year(DATE\u COL)和month(DATE\u COL)以及dayofmonth(DATE\u COL)