仅返回MySQL中文本字段的一部分

时间:2014-02-25 18:37:55

标签: mysql regex

我需要搜索一个表并仅返回在文本字段中找到的IP地址。 (是的,IP地址应该保存在自己的列中,但遗憾的是不是这种情况。)

我希望按IP地址发生的次数对数据进行分组。

使用此SQL,

SELECT * FROM `table` WHERE `column` LIKE '%somevalue%' AND `text_column` REGEXP '[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}'

在列上,

+----------------------+------------------+------+-----+---------------------+----------------+
| Field                | Type             | Null | Key | Default             | Extra          |
+----------------------+------------------+------+-----+---------------------+----------------+
{snip}
| text_column          | text             | YES  |     | NULL                |                | 
{snip}
+----------------------+------------------+------+-----+---------------------+----------------+

text_column可以包含整个段落或句子,

Hello, my IP address is: 0.0.0.0

如何返回数据仅显示text_column中包含的IP地址,例如

COUNT(*) text
143      127.0.0.1
84       192.168.0.100
2        255.255.255.0

感谢您的帮助。

0 个答案:

没有答案