Я использую Microsoft SQL Server, который я считаю T-SQL или ANSI SQL.
Я хочу найти в базе данных строку. Совпадения, которые соответствуют началу строки, должны идти первыми, а затем сортироваться по алфавиту.
т.е. Если таблица содержит FOO
, BAR
и RAP
поиск строки 'R'
должен дать:
RAP
BAR
В таком порядке.
Вот моя попытка:
SELECT Name
FROM MyTable
WHERE (Name LIKE '%' + @name + '%')
ORDER BY (IF(Name LIKE @name + '%',1,0))
Сообщение об ошибке: «необходимо объявить скалярную переменную @name»