Mysql:仅从混合列中选择 IP 地址.有没有我可以使用的功能


Mysql: Select only ip addresses from mixed column. Is there a function that I can use?

>我在mysql中有一列,混合了IP地址和电子邮件地址。 是否有可以将字符串标识为 IP 地址的 MySQL 函数?

如果没有,您还会推荐哪些其他方法?

问候

J

你可以在 mysql 查询中使用 REGEXP

因此,要仅从列中选择IP地址,您可以写入

从表名称中选择 *,其中列名 REGEXP '^[0-9]+''。[0-9]+''.[0-9]+''.[0-9]+$';

select * from value1 where newValue REGEXP '^[0-9]+'.[0-9]+'.[0-9]+'.[0-9]+$';

使用 LOCATE 函数。此 SELECT 将带来所有没有 @ 的内容。

SELECT * FROM table WHERE LOCATE ('@', field)=0; 

由于电子邮件必须包含"@"而 IP 不能,因此您可以像这样选择它们:

select c from t where c not like '%@%';