使用LIKE操作符对结果进行排序

3
在SQL Server中,我可以使用以下SQL语句:
SELECT * 
FROM Customers
WHERE Country LIKE '%land%';

这个查询会返回包含字符串 land 的值。

是否可以按照字符串 land 的位置对返回的值进行排序?

例子:

输入值:"新西兰,美国,Landcountry,Alandia"

输出值:"Landcountry,Alandia,新西兰"

1个回答

10

您可以使用CHARINDEX

SELECT * FROM Customers
WHERE Country LIKE '%land%'
order by charindex('land', Country)

是的,这就是我记不起来的。还有一个问题:如果我使用“_”符号代替“land”,表示任何字符,那么结果会不会改变?输出将与输入相同吗? - demo
如果表中有像“Landcountry”和“Landry”这样的数据,那该怎么办呢?我测试了一下,第一个是“Landcountry”。或许我错了吗?那么如何先输出“Landry”,然后再输出“Landcountry”呢?谢谢。 - demo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接