我在mysql中有一个表。 该表有一列是UserName。
现在,它中有常规名称和一些IP地址。 如何在查询中仅显示IP地址?
请记住,有这样的名字
A.B.C.D
所以,如果我写这个
SELECT *
FROM table1
WHERE UserName LIKE '%.%.%.%'
它不会为我做这个工作。 我只需要IP地址。
答案 0 :(得分:4)
您可以使用正则表达式:
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}$';
答案 1 :(得分:0)
Select *
From table1
WHERE UserName REGEXP '^([0-9]{1,3}\.){1,3}[0-9]{1,3}$'