FirebirdSQL logo
 EXCEPTIONCHARACTER SET 

Attributs spécifiques

L’instruction CREATE COLLATION peut également spécifier des attributs spécifiques pour le tri.Le tableau ci-dessous énumère les attributs spécifiques disponibles.Tous les attributs ne sont pas applicables à toutes les sortes.Si un attribut ne s’applique pas à un tri, mais est spécifié lors de sa création, il ne provoquera pas d’erreur.

Important

Les noms d’attributs spécifiques sont sensibles à la casse.

1 bpc dans le tableau indique que l’attribut est valable pour les tris de jeux de caractères utilisant 1 octet par caractère (le jeu de caractères dit étroit) et UNI pour les tris unicode.

Table 1. Liste des attributs spécifiques disponiblesCOLLATION
Nom Valeur Validité Description

DISABLE-COMPRESSIONS

0, 1

1 bpc

Désactive la compression (sinon, les abréviations). Les compressions forcent certaines séquences de caractères à être triées comme des modules atomiques, par exemple, l’espagnol c + h comme le seulcaractère ch.

DISABLE-EXPANSIONS

0, 1

1 bpc

Désactiver les extensions. Les extensions vous permettent de traiter certains caractères (par exemple, les ligatures ou les trémas de voyelles) comme des séquences de caractères et de les trier en conséquence.

ICU-VERSION

default ou M.m

UNI

Définit la version de la bibliothèque ICU à utiliser. Les valeurs valides sont définies dans les éléments appropriés <intl_module> du fichier intl/fbintl.conf. Format : soit la chaîne default, soit un numéro de version majeure et mineure comme 3.0 (tous deux sans guillemets).

LOCALE

xx_YY

UNI

Définit les paramètres de tri pour la norme linguistique. Nécessite la version complète de la bibliothèque ICU. Format de la chaîne : du_NL (sans guillemets).

MULTI-LEVEL

0, 1

1 bpc

L’utilisation de plusieurs niveaux de tri.

NUMERIC-SORT

0, 1

UNI

Traite les groupes continus de chiffres décimaux dans une chaîne de caractères comme des modules atomiques et les trie en séquence numérique (connu sous le nom de tri naturel).

SPECIALS-FIRST

0, 1

1 bpc

Trie les caractères spéciaux (espaces, etc.) en caractères alphanumériques.

Tip

Si vous voulez ajouter un nouveau jeu de caractères à la base de données avec son tri mental, enregistrez et exécutez la procédure stockée sp_register_character_name(name, max_bytes_per_character) à partir du sous-répertoire misc/intl.sql de l’installation Firebird. Pour fonctionner correctement avec le jeu de caractères, il doit être présent dans votre système d’exploitation, et enregistré dans le sous-répertoire fbintl.conf intl.

Qui peut créer un tri ?

L’instruction CREATE COLLATION peut être exécutée :

L’utilisateur qui a créé le tri devient son propriétaire.

Exemples

Example 1. Crée un tri en utilisant le nom trouvé dans fbintl.conf (sensible à la casse).
CREATE COLLATION ISO8859_1_UNICODE FOR ISO8859_1;
Example 2. Créer un tri en utilisant un nom spécial (défini par l’utilisateur) (le nom “external” doit correspondre exactement au nom dans le fichier fbintl.conf).
CREATE COLLATION LAT_UNI
FOR ISO8859_1
FROM EXTERNAL ('ISO8859_1_UNICODE');
Example 3. Créez un tri insensible à la casse en vous basant sur le tri déjà présent dans la base de données.
CREATE COLLATION ES_ES_NOPAD_CI
FOR ISO8859_1
FROM ES_ES
NO PAD
CASE INSENSITIVE;
Example 4. Créez un tri insensible à la casse en vous basant sur le tri déjà présent dans la base de données avec des attributs spécifiques.
CREATE COLLATION ES_ES_CI_COMPR
FOR ISO8859_1
FROM ES_ES
CASE INSENSITIVE
'DISABLE-COMPRESSIONS=0';
Example 5. Créez un tri non sensible à la casse sur la valeur des nombres (tri dit naturel).
CREATE COLLATION nums_coll FOR UTF8
FROM UNICODE
CASE INSENSITIVE 'NUMERIC-SORT=1';

CREATE DOMAIN dm_nums AS varchar(20)
CHARACTER SET UTF8 COLLATE nums_coll; -- original (manufacturer) numbers

CREATE TABLE wares(id int primary key, articul dm_nums ...);
Voir aussi :

DROP COLLATION.

DROP COLLATION

affectation

Suppression d’un tri existant.

Disponible en

DSQL

Syntaxe
DROP COLLATION collname
Table 1. Paramètres de l’opérateur DROP COLLATION
Paramètre Description

collname

Nom de tri.

L’instruction DROP COLLATION supprime le tri spécifié. Le tri doit être présent dans la base de données, sinon une erreur correspondante sera émise.

Tip

Si vous voulez supprimer un jeu de caractères avec tous ses tris dans la base de données, enregistrez et exécutez la procédure stockée sp_unregister_character_set(name) à partir du sous-répertoire misc/intl.sql de l’installation Firebird.

Qui peut supprimer le tri ?

L’instruction DROP COLLATION peut être exécutée :

  • Administrateurs

  • Le propriétaire du tri ;

  • Les utilisateurs ayant le privilège `DROP ANY COLLATION'.

Exemples

Example 1. Suppression du tri
DROP COLLATION ES_ES_NOPAD_CI;
Voir aussi :

CREATE COLLATION.