Im en utilisant Microsoft SQL Server que je pense est T-SQL ou ANSI SQL.Erreur de syntaxe SQL
Je souhaite rechercher une base de données avec une chaîne. Les matchs qui correspondent à la mendicité de la chaîne devraient venir en premier, puis trier par ordre alphabétique.
I.e. Si la table contient FOO
, BAR
et RAP
une recherche de la chaîne 'R'
doit céder:
RAP
BAR
Dans cet ordre.
Voici ma tentative:
SELECT Name
FROM MyTable
WHERE (Name LIKE '%' + @name + '%')
ORDER BY (IF(Name LIKE @name + '%',1,0))
Le message d'erreur est le suivant: "doit déclarer @name variable scalaire"
J'aime cette solution, le charindex est plus compact et donne un meilleur tri. – Robert