时区格式的MySQL正则表达式
我正在实现regex来评估多个字段中的数据, 目前需要MySql正则表达式来评估时区格式(2018-04-02T10:13:00)时区格式的MySQL正则表达式,mysql,sql,regex,Mysql,Sql,Regex,我正在实现regex来评估多个字段中的数据, 目前需要MySql正则表达式来评估时区格式(2018-04-02T10:13:00) 我尝试过类似正则表达式的%Y-%m-%dt%H:%i:%s,但它不起作用 您可以使用以下选项: '^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}$' 但是,模式匹配不能保证日期有效,例如2018-02-29T00:00:00(闰年)或2018-04-31T00:00:00(4月31日)。您编写的不是正则
我尝试过类似正则表达式的
%Y-%m-%dt%H:%i:%s
,但它不起作用 您可以使用以下选项:
'^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}$'
但是,模式匹配不能保证日期有效,例如
2018-02-29T00:00:00(闰年)或2018-04-31T00:00:00(4月31日)。您编写的不是正则表达式。正则表达式的最简单形式类似于…-..-…-..T:…
,或者可能是(\d\d\d\d)-(\d\d)-(\d\d)T(\d\d):(\d\d):(\d\d):(\d\d)
(只允许数字,有组让正则表达式引擎提取组件
您可能正在寻找的是MySQL函数DATE\u FORMAT()
的格式,该函数可以以给定格式输入数据,也可以以给定格式获取数据库的mout
唉,你没有告诉我们更多的细节,所以我只能指导你
但是…如果字符串以“-07:00”结尾表示时区,则会变得更混乱。请参阅转换TZ
和一些额外的解析。%Y-%m-%d T%H:%i:%s
(类似的内容)将与Str_to_date()
和日期格式()
函数一起使用。
mysql> SELECT str_to_date('2018-04-02T10:13:00', '%Y-%m-%dT%H:%i:%s');
+---------------------------------------------------------+
| str_to_date('2018-04-02T10:13:00', '%Y-%m-%dT%H:%i:%s') |
+---------------------------------------------------------+
| 2018-04-02 10:13:00 |
+---------------------------------------------------------+
1 row in set (0.01 sec)