数据包含以下格式的一系列名称:
ABC123456
XYZ987654
DE-234567
查询
select distinct(substring(field, '([A-Z]{1,3})')) pref, count(*) tot from table;
用字符标识条目。问题是:什么是转义字符将"-"字符与字母字符一起拉动。"-"字符用于选择字符序列 [A-Z]。如何扩展该选择序列以包含"-"字符。
"-"字符用于选择字符序列 [A-Z]
破折号-
仅在位于其他字符中间时才被解释为范围。如果将其放在字符类的开头或结尾,则它只是一个常规字符:
select distinct(substring(field, '([A-Z-]{1,3})')) pref, count(*) tot from table;
-- ^
[-A-Z]
也会起作用。