在 mysql 中的 table 中查找 IP 地址
find IP addresses in a table in mysql
我在 mysql 中有一个 table。
table 有一列是用户名。
现在,里面有常规的名字,还有一些IP地址。
如何在查询中仅显示 IP 地址?
记住还有这样的名字
a.b.c.d
所以,如果我写这个
SELECT *
FROM table1
WHERE UserName LIKE '%.%.%.%'
它不会为我完成这项工作。
我只需要IP地址。
您可以使用正则表达式:
SELECT *
FROM table1
WHERE UserName REGEXP '^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$';
编辑:
根据 MySQL 版本,这可能是更好的选择:
SELECT *
FROM table1
WHERE UserName REGEXP '^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$';
Select *
From table1
WHERE UserName REGEXP '^([0-9]{1,3}\.){1,3}[0-9]{1,3}$'
我在 mysql 中有一个 table。 table 有一列是用户名。
现在,里面有常规的名字,还有一些IP地址。 如何在查询中仅显示 IP 地址?
记住还有这样的名字
a.b.c.d
所以,如果我写这个
SELECT *
FROM table1
WHERE UserName LIKE '%.%.%.%'
它不会为我完成这项工作。 我只需要IP地址。
您可以使用正则表达式:
SELECT *
FROM table1
WHERE UserName REGEXP '^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$';
编辑:
根据 MySQL 版本,这可能是更好的选择:
SELECT *
FROM table1
WHERE UserName REGEXP '^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$';
Select *
From table1
WHERE UserName REGEXP '^([0-9]{1,3}\.){1,3}[0-9]{1,3}$'