IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration SQL Server Discussion :

Collation Latin1_General_CI_AS & French_CI_AS synonyme ?


Sujet :

Administration SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 249
    Par défaut Collation Latin1_General_CI_AS & French_CI_AS synonyme ?
    Bonjour,

    J'aimerais savoir si la collation européenneLatin1_General_CI_AS et la collation US française French_CI_AS qui utilisent toutes deux la table de code 1252 sont de vrais synonymes pour Sql Server OU si il existe des différences significatives dans le résultat ?

    Merci.

    Yann.

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 999
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 999
    Billets dans le blog
    6
    Par défaut
    Oui, il existe des différences significatives je crois que certaines ligatures ne sont pas gérées. De plus pour les perf, la french est plus intéressante.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre éclairé
    Avatar de Etanne
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2003
    Messages
    469
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 469
    Par défaut
    Bonjour,

    Je me suis posé la même question aujourd'hui.. ..je pense que la réponse pourra intéresser plus tard d'autres personnes.

    Au niveau des caractères, cela ne change en rien. Le code page est extactement le même entre French et Latin1 (1252) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT [Name], [Description], [CodePage] = COLLATIONPROPERTY([Name], 'CodePage')
    FROM ::fn_helpcollations() WHERE [Name] LIKE 'French%' OR [Name] LIKE 'Latin%'
    En revanche avec la diacritique et le tri et ça change pas mal de chose, et Michael Kaplan l'explique sur son blog

    Voici un tri du mot cote avec les accents en utilisant la collation French et ensuite latin1 :

    Tri Français (respect des règles de l'académie française) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    select  * from (values ('cote'), ('coté'), ('côté'), ('côte')) as X(mots) ORDER BY mots COLLATE French_CI_AS
     
    fr
    ----------
    cote
    côte
    coté
    côté
    Tri avec Latin1 (pour les Allemands, Anglais, etc.) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    select  * from (values ('cote'), ('coté'), ('côté'), ('côte')) as X(mots) ORDER BY mots COLLATE Latin1_General_CI_AS
     
    latin
    ----------
    cote
    coté
    côte
    côté
    Comme vous pouvez le voir le tri est différents, wikipédia en donne la règle.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [2008R2] 2008R2: French_CI_AS et Latin1_General_CI_AS
    Par scazikiss dans le forum Administration
    Réponses: 12
    Dernier message: 24/04/2013, 15h39
  2. problème de "collation" dans un UNION
    Par bilb0t dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 15/06/2004, 12h12
  3. PostgreSQL & les synonymes
    Par samyl dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 07/05/2004, 16h32
  4. Problème avec COLLATE FR_FR
    Par nico27 dans le forum SQL
    Réponses: 4
    Dernier message: 27/02/2004, 13h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo