Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
时区格式的MySQL正则表达式_Mysql_Sql_Regex - Fatal编程技术网

时区格式的MySQL正则表达式

时区格式的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日)。您编写的不是正则

我正在实现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日)。

您编写的不是正则表达式。正则表达式的最简单形式类似于
…-..-…-..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)