如何从某个字符串开始命令sql结果

时间:2014-04-10 07:10:15

标签: sql sql-order-by

我是SQL的新手,我真的需要你的帮助,谢谢你提前:)

我使用SQL从表(动物)中选择一个列(animal_name),其内容包含某个字符串(例如' cat'),样本结果:

mycat, hercat, catKitty, catLili, acata, bcatb

现在我希望结果首先显示以' cat'开头的字符串,然后显示剩余的字符串ASC,我想要的样本结果:

catKitty, catLili, acata, bcatb, hercat, mycat

现在我只知道如何使用LIKE选择包含' cat'的结果:

select animal_name from animal where animal_name like '%cat%';

但我不知道如何通过结果订购。你能提一些建议吗?再次感谢:)

1 个答案:

答案 0 :(得分:9)

select animal_name 
from animal 
where animal_name like '%cat%' --test if name contains cat
order by
 case when animal_name like 'cat%' then 0 else 1 end, -- order with name starting with cat first
 animal_name -- then by name

请参阅SqlFiddle