利用日期正则表达式之识别合法日期
2016-12-13 15:18
246 查看
*
目的:利用日期正则表达式之识别合法日期
工具: regexp_like函数,日期正则表达式
适用范围: 日期格式为YYYY-MM-DD,字段类型为DATE类型或varchar2类型。注:两种字段类型在用法上有些差别,
*
日期正则表达式:是由多个正则表达式组成,识别了1900-01-01至2099-12-30。如果需求其他日期,可以自己添加
正则表达式分段介绍:
第一段:识别1900年至2099年1月、3月、5月、7月、8月、10月、12月中01天-31天。
第二段:识别1900年至2099年4月、6月、9月、11月中的01天-30天
第三段:识别1900年至2099年02月01天-28天
第四段:识别1900年至2099年中的闰年(2月有29天)
当字段类型为varchar2时,用法
字段类型为DATE时,用法
目的:利用日期正则表达式之识别合法日期
工具: regexp_like函数,日期正则表达式
适用范围: 日期格式为YYYY-MM-DD,字段类型为DATE类型或varchar2类型。注:两种字段类型在用法上有些差别,
*
日期正则表达式:是由多个正则表达式组成,识别了1900-01-01至2099-12-30。如果需求其他日期,可以自己添加
^((((19|20)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((19|20)\d{2})-(0?[469]|11)-(0?[1-9]|[12]\d|30))|(((19|20)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))-0?2-(0?[1-9]|[12]\d)))$
正则表达式分段介绍:
第一段:识别1900年至2099年1月、3月、5月、7月、8月、10月、12月中01天-31天。
(((19|20)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))
第二段:识别1900年至2099年4月、6月、9月、11月中的01天-30天
(((19|20)\d{2})-(0?[469]|11)-(0?[1-9]|[12]\d|30))
第三段:识别1900年至2099年02月01天-28天
(((19|20)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))
第四段:识别1900年至2099年中的闰年(2月有29天)
((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))-0?2-(0?[1-9]|[12]\d)) 建议可以直接写成,自己理解 ((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))-0?2-29)
当字段类型为varchar2时,用法
SELECT c.BIRTHDAY FROM P_C_CI_PERSON c WHERE regexp_like(c.birthday,'^((((19|20)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((19|20)\d{2})-(0?[469]|11)-(0?[1-9]|[12]\d|30))|(((19|20)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))-0?2-(0?[1-9]|[12]\d)))$');
字段类型为DATE时,用法
SELECT c.IDENT_EXPIRED_DATE FROM m_ci_per_identifier c WHERE regexp_like(c.IDENT_EXPIRED_DATE,'(((19|20)\d{2})-(0[13578]|1[02])-(0[1-9]|[12]\d|3[01]))|(((19|20)\d{2})-(0[469]|11)-(0[1-9]|[12]\d|30))|(((19|20)\d{2})-02-(0[1-9]|1\d|2[0-8]))|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))-02-(0[1-9]|[12]\d))')
相关文章推荐
- 利用正则表达式来完成时间日期
- JavaScript利用正则表达式去除日期中的-
- 利用正则表达式判断手机号码格式是否合法
- 判断日期是否合法的正则表达式
- javascript 利用正则表达式控制 日期的输入
- java利用正则表达式判断输入的日期格式为yyyy/MM/dd
- Android中利用正则表达式验证手机号是否合法
- JavaScript利用正则表达式去除日期中的-
- 利用JavaScript和正则表达式进行丰富的日期判断(给其它项目组的代码,有比较好的编程风格和注释)
- Java中各种正则表达式验证[邮箱、密码前后空格、日期合法、IP]
- 识别日期的正则表达式
- JavaScript利用正则表达式去除日期中的“-”
- 利用正则表达式判断四则运算表达式是否合法
- 利用JavaScript和正则表达式进行丰富的日期判断
- JavaScript利用正则表达式去除日期中的“-”
- 利用正则表达式识别邮箱
- 利用JavaScript和正则表达式进行丰富的日期判断
- 利用正则表达式检验邮政编码及电子邮件(E-MAIL)格式
- 利用正则表达式计算含有中文的字符串长度
- 正则表达式应用--利用正则替换字符