mysql校验日期正确性_MySQL日期有效性
发布日期:2021-06-24 16:40:16 浏览次数:2 分类:技术文章

本文共 599 字,大约阅读时间需要 1 分钟。

MySQL是否提供验证日期有效性的任何功能?例如,在提供无效日期2013-02-30时,DATE函数返回NULL.但是,我也同时使用STR_TO_DATE,这会神秘地阻止DATE正常工作.

SELECT DATE('2013-02-30'); NULL

SELECT STR_TO_DATE('2013-02-30', '%Y-%m-%d'); NOT NULL

SELECT DATE('2013-02-40'); NULL

SELECT STR_TO_DATE('2013-02-40', '%Y-%m-%d'); NULL

SELECT DATE(STR_TO_DATE('2013-02-30', '%Y-%m-%d')); NOT NULL

为什么STR_TO_DATE会暂停DATE的功能,是否有一些解决方法可以在使用STR_TO_DATE(我有义务使用)时验证日期是否有效?

我在此期间偶然发现了答案:当数据类型已经是’date'(STR_TO_DATE将字符串转换为日期数据类型)时,显然DATE函数会跳过一些验证检查.因此,在使用STR_TO_DATE将日期解析为正确的格式后,将日期转换为字符串,可以解决问题:

@valid_date = NOT ISNULL(DATE(CONVERT(STR_TO_DATE(‘2013-02-29′,’%Y-%m-%d’),CHAR))).

转载地址:https://blog.csdn.net/weixin_33910305/article/details/113294978 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:十五个实用的mysql语句分享_MySQL中特别实用的几种SQL语句送给大家
下一篇:mysqli拓展还能用mysql_最近在学习php,其中使用了MYSQLi扩展,注意是MYSQLi不是MYSQL(因PHP7已经不支持MYSQL扩展了)。...

发表评论

最新留言

不错!
[***.144.177.141]2024年04月16日 20时36分13秒