FirebirdSQL logo

En SQL, les chaînes de texte font partie des objets triables.Cela signifie qu’ils obéissent à leurs propres règles d’ordonnancement interne, par exemple l’ordre alphabétique.Des opérations de comparaison (par exemple, "moins que" ou "plus que") peuvent être appliquées à ces chaînes de texte, et les valeurs de l’expression doivent être évaluées selon une certaine séquence de tri.Par exemple, l’expression 'a'<'b' signifie que 'a' précède 'b' dans la séquence de tri.L’expression 'c'>'b' signifie que 'c' est défini après 'b' dans la séquence de tri. Les chaînes de texte contenant plus d’un caractère sont triées en comparant séquentiellement les caractères : on compare d’abord les premiers caractères de deux chaînes, puis les seconds, et ainsi de suite, jusqu’à ce qu’une différence soit trouvée entre les deux chaînes.Cette distinction contrôle l’ordre de tri.

Une comparaison (COLLATION) est généralement comprise comme un objet du schéma qui définit une séquence d’ordre (ou séquence de tri).

CREATE COLLATION

affectation

Ajoute un nouveau tri (comparaison) pour le jeu de caractères pris en charge dans la base de données.

Disponible en

DSQL

Syntaxe
CREATE COLLATION collname
FOR charset
[FROM basecoll | FROM EXTERNAL ('extname')]
[NO PAD | PAD SPACE]
[CASE [IN]SENSITIVE]
[ACCENT [IN]SENSITIVE]
['<specific-attributes>'];

<specific-attributes> ::= <attribute> [; <attribute> ...]

<attribute> ::= attrname=attrvalue
Table 1. Paramètres de l’opérateur CREATE COLLATION
Paramètre Description

collname

Trier (comparer) le nom. Longueur maximale de 63 caractères.

charset

Jeu de caractères.

basecoll

Triage de base (comparaison).

extname

Nom de tri du fichier de configuration, sensible à la casse.

L’instruction `CREATE COLLATION' ne `crée rien' ; son but est de faire connaître le tri à la base de données.Le tri doit déjà être présent dans le système, généralement dans un fichier de bibliothèque, et doit être enregistré dans le fichier fbintl.conf du sous-répertoire intl du répertoire racine de Firebird.

La clause optionnelle FROM spécifie le tri sur la base duquel le nouveau tri sera créé.Un tel tri doit déjà exister dans la base de données.Si le mot-clé EXTERNAL est spécifié, le tri sera recherché à partir de $fbroot/intl/fbintl.conf, avec extname correspondant exactement au nom dans le fichier de configuration (sensible à la casse).

Si la clause FROM est absente, Firebird recherche dans le fichier de configuration fbintl.conf du sous-répertoire intl du répertoire racine du serveur un nom de tri qui vient juste après CREATE COLLATION.En d’autres termes, ne pas spécifier FROM basecoll est équivalent à spécifier FROM EXTERNAL ('collname').

Lors de la création d’un tri, il est possible de spécifier si les espaces de fin sont pris en compte dans la comparaison.Si l’option NO PAD est spécifiée, les espaces de queue sont comptés dans la comparaison.Si l’option PAD SPACE est spécifiée, les espaces de queue ne sont pas comptés dans la comparaison.

La phrase optionnelle CASE vous permet de spécifier si la comparaison est sensible à la casse ou non.

La phrase facultative ACCENT permet de préciser si la comparaison est sensible à la casse (par exemple, e et é).