我必须从MySQL列中提取某些数据。该表如下所示:
+----+---------------------+------------------------+
| id | time | data |
+----+---------------------+------------------------+
| 1 | 2016-10-28 00:12:01 | a Q1!! AF3 !! ext!! z |
| 2 | 2016-10-28 02:19:02 | z !!3F2 !AF66-2!! !!a |
| 3 | 2016-10-28 11:35:03 | AF!a !!! pl6 f !!! dd |
+----+---------------------+------------------------+
我想从data
字符AF
和NEXT出现之间的列中获取字符串,!!
因此理想情况下,查询SELECT
ID,[something] AS x FROM tbl
将导致:
+----+------+
| id | x |
+----+------+
| 1 | 3 |
| 2 | 66-2 |
| 3 | !a |
+----+------+
关于如何做到这一点的想法?我看到的所有其他问题都不太相关,因为它们没有涉及在第一个针(!!
)之后找到第二个针()的第一次出现AF
。
可能有更快的方法可以这样做,但这是一个好的开始:
select substring_index(substring_index(data, 'AF', -1), '!!', 1)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句