0

我从未在 mySQL 中遇到过 RegEx,在一列中我有超过 500 个不同的服务器版本。是否可以仅在正斜杠之前获取任何内容,以便我可以通过过滤掉版本来检测最常见的服务器?

Microsoft-IIS/7.5
Microsoft-IIS/6.0
Apache/2.2.24 (Unix)
Apache/2.2.15 (CentO
Apache/1.3.42 (Unix)
Apache/2.2.22 (Ubunt
Resin/3.0.23
Apache/2.2.0 (Linux/
4

2 回答 2

2

在 mysql 中,正则表达式不能返回匹配的子字符串,而仅在字符串与正则表达式匹配时才返回布尔值。

你需要的只是一个SUBSTR

SUBSTRING(col, 1, LOCATE('/', col) - 1)

但请记住,如果/字符串中没有,您最终会得到一个空字符串

于 2013-05-10T00:33:12.040 回答
2

这里,

SELECT DISTINCT SUBSTRING(version,1,LOCATE('/', version)-1) FROM TableName

因为DISTINCT,只显示唯一的行。

于 2013-05-10T00:33:32.870 回答