如果不在MySQL.A中指定格式,我们如何检查字符串是否为有效日期。用户可以输入以下格式;
21-08-2013
21/08/2013
2013/08/21
21jan2018我不知道用户可以预先输入的格式。我试过了:
选择str_to_date(),但在这里我需要指定我不想要的格式。我只想检查一个字符串是否是有效的日期,而不指定格式。
请提个建议。谢谢
发布于 2018-01-25 18:38:13
您在问题中向我们展示的所有四个日期字符串都可以使用带有适当格式掩码的STR_TO_DATE转换为MySQL日期。因此,如果您只想知道是否可以将它们转换为日期,那么您应该能够简单地检查这些日期模式:
SELECT *
FROM yourTable
WHERE
col REGEXP '[0-9]{2}-[0-9]{2}-[0-9]{4}' OR
col REGEXP '[0-9]{2}/[0-9]{2}/[0-9]{4}' OR
col REGEXP '[0-9]{4}/[0-9]{2}/[0-9]{2}' OR
col REGEXP '[0-9]{2}[A-Z]{3}[0-9]{4}';https://stackoverflow.com/questions/48440750
复制相似问题