2015-01-27 2 views
1

В SQL Server, я могу использовать этот SQL заявление:Заказать результат с LIKE оператора

SELECT * 
FROM Customers 
WHERE Country LIKE '%land%'; 

Этот запрос будет возвращать значения, которые содержат строку land.

Можно ли отсортировать возвращаемые значения по положению строки land?

Пример:

Входные значения: "Новая Зеландия, США, Landcountry, Alandia" значения

Выход: "Landcountry, Alandia, Новая Зеландия"

ответ

5

Вы можете использовать CHARINDEX

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

Да, это то, что я не могу вспомнить. И еще один вопрос: если вместо «земли» я использую символ «_», что означает любой символ, тогда результат не будет изменен? Выход будет в виде ввода? – demo

+0

И как насчет случая, когда в таблице у нас есть данные вроде: «Landcountry» и «Landry» - сначала было бы «Landcountry», как я тестировал. Или, может быть, я ошибаюсь? Итак, как я могу вывести сначала «Landry», а затем «Landcountry»? благодаря – demo

Смежные вопросы