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