mysql中查找特定字符串
以特定字符串开头:
例如在表emp中查找city以元音字母开头的记录,并且不重复,有如下方式可以达到目的.
select distinct city from emp where city left(upper(city),1) in ('A','E','I','O','U');
select distinct city from emp where city substr(upper(city),1,1) in ('A','E','I','O','U');
select distinct city from emp where city city regexp "^[aeiou.*]"
(注:关于正则表达式会在以后专门整理)
以特定字符串结尾:
例如在表emp中查找city中以元音字母结尾的记录,并且要求不重复,那么可以采用下面的命令:
select distinct city from emp where city right(upper(city),1) in ('A','E','I','O','U');
select distinct city from emp where city substr(upper(city),-1,1) in ('A','E','I','O','U');
扫描二维码关注公众号,回复: 1061631 查看本文章
其中,substr
和left
以及right
这些函数的使用在上一节均有描述.
按照特定顺序显示查询结果(升序和降序):
将
city
中的城市名称按照其字符长度排列,并且不重复显示,并且显示最长和最短查询结果:select distinct city,length(city) from emp order by length(city),city asc limit 1;
上面的语句将会显示长度最短的城市名,并且按照首字母排序靠前的城市名.
select distinct city,length(city) from emp order by length(city) desc limit 1;
上面的语句将会显示城市长度最长的城市.上面两条命令中,
`asc
和desc
分别表示升序和降序排列.其中asc
是默认的,如果不指定排序方式的话.