mysql-7

mysql中查找特定字符串

  1. 以特定字符串开头:

    例如在表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.*]"

    (注:关于正则表达式会在以后专门整理)

  2. 以特定字符串结尾:

    例如在表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');

其中,substrleft以及right这些函数的使用在上一节均有描述.

  1. 按照特定顺序显示查询结果(升序和降序):

    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;

    上面的语句将会显示城市长度最长的城市.上面两条命令中,`ascdesc分别表示升序和降序排列.其中asc是默认的,如果不指定排序方式的话.

猜你喜欢

转载自blog.csdn.net/wilder_ting/article/details/78937069