ZBLOG

mysql , yyymmdd 日期正则校验二月份

以下是MySQL中yyymmdd日期正则校验二月份的示例:

SELECT 
    DATE_FORMAT('20210229', '%Y%m%d') AS date_str, 
    CASE 
        WHEN REGEXP_LIKE(date_str, '^(19|20)[0-9]{2}(02)(((0[1-9])|([1-2][0-9]))|30)$') THEN 'Valid'
        ELSE 'Invalid' 
    END AS validation 
FROM 
    (SELECT '20210229' AS date_str) t;

在上面的示例中,我们使用了REGEXP_LIKE函数来执行正则表达式匹配。该函数返回TRUE或FALSE,表示是否匹配指定的正则表达式。正则表达式本身用于验证给定日期字符串是否符合以下标准:

  • 日期格式为yyymmdd
  • 年份为1900年到2099年之间
  • 月份为2月份
  • 日数在1到28或29之间(如果是闰年)

请注意,我们在正则表达式中使用了括号和管道字符来分组两个不同的日期范围。这是因为二月份的天数可能为28或29,具体取决于是否是闰年。如果是闰年,则2月份有29天,否则有28天。

在上面的示例中,我们使用的日期字符串是20210229,它是一个无效的日期,因为2021年不是闰年,所以二月份只有28天。因此,这个日期字符串将被认为是无效的,并且在结果集中将显示“Invalid”。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=973

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?