我在表格中归档了一个channel
mysql
其中包含以下数据:
DAHDI/69-1
DAHDI/68-1
DAHDI/20-1
DAHDI/1-1
DAHDI/6-1
DAHDI/67-1
DAHDI/14-1
DAHDI/4-1
DAHDI/19-1
DAHDI/20-1
从上面的数据中,我想获取正斜杠之后和 -1 之前的数值。
预期成果:
仅限DAHDI/69-1
69
。
请注意,DAHDI
和1
在该channel
中是固定值。
编辑:我希望前 100 行包含百万行中的最大数值。
您必须在字符串中找到字符索引,然后进行简单的计算以提取值。查询应类似于以下内容:
SELECT 0 + substring(channel,
locate('/', channel) + 1,
locate('-', channel) - locate('/', channel) - 1) AS myvalue
FROM table
ORDER BY myvalue DESC
LIMIT 100
SUBSTRING(str,pos,len)
:
返回从字符串 str 开始的子字符串 len 字符,从位置位置开始。
LOCATE(substr,str)
:
返回子字符串 substr 在字符串 str 中第一次出现的位置。
0 +
技巧强制MySql将字符串转换为数字值。