FirebirdSQL logo

Séquence de tri

Chaque jeu de caractères possède une séquence de tri (correspondance) par défaut (COLLATE) qui détermine l’ordre de correspondance. Normalement, il assure un tri basé sur le code numérique des caractères et une correspondance de base entre les caractères majuscules et minuscules. Si un comportement est requis pour les chaînes de caractères qui n’est pas fourni par la séquence de tri par défaut, et qu’un tri alternatif approprié est supporté pour ce jeu de caractères, la clause COLLATE collation peut être spécifiée dans la définition de la colonne.

La phrase COLLATE collation peut être utilisée dans des contextes autres que la définition de la colonne. Pour les opérations de comparaison plus/moins, il peut être ajouté à la clause WHERE de l’opérateur SELECT. Si la sortie doit être triée dans une séquence alphabétique spécifique ou sans tenir compte de la casse et qu’il existe une correspondance appropriée, la phrase COLLATE peut être utilisée dans la phrase ORDER BY lorsque les lignes sont triées par champ de caractères, et dans la phrase GROUP BY dans le cas d’opérations de groupe.

Recherche indépendante de la casse

Pour une recherche insensible à la casse, vous pouvez utiliser la fonction UPPER.

Pour une recherche insensible à la casse, vous pouvez utiliser la fonction UPPER pour convertir l’argument de recherche et l’argumentet les chaînes de caractères recherchées en majuscules avant de tenter une correspondance.

...
WHERE UPPER(name) = UPPER(:flt_name)

Pour les chaînes de caractères dans un jeu de caractères pour lequel le tri insensible à la casse est disponible, vous pouvez simplement appliquerpour comparer directement l’argument de recherche et les chaînes de caractères.Par exemple, si vous utilisez le jeu de caractères WIN1251, vous pouvez utiliser le tri insensible à la casse PXW_CYRL à cette fin.

...
WHERE FIRST_NAME COLLATE PXW_CYRL >= :FLT_NAME
...
ORDER BY NAME COLLATE PXW_CYRL
Voir aussi:

CONTAINING.