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 :

Une Question collation


Sujet :

Administration SQL Server

  1. #1
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 348
    Points : 604
    Points
    604
    Par défaut Une Question collation
    Bonjour,

    Je ne trouve pas la collation LATIN1_GENERAL_CS_AS sur la liste proposée pour install 2017 standard ...?

    Comment fixer cette collation ? Quelle case à cocher voir pièce-jointe ?

    Merci.

    A+
    Images attachées Images attachées  
    SDR.
    "ceux qui vivent, ce sont ceux qui luttent."

  2. #2
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 348
    Points : 604
    Points
    604
    Par défaut
    A cocher voir pièce-jointe.

    SQL_LATIN1_GENERAL_CS_AS et LATIN1_GENERAL_CS_AS sont identiques ?

    MERCI.

    A+
    Images attachées Images attachées  
    SDR.
    "ceux qui vivent, ce sont ceux qui luttent."

  3. #3
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 348
    Points : 604
    Points
    604
    Par défaut
    Après la consultation de:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    https://sqlpro.developpez.com/cours/sqlserver/collations/
    Me semble que "SQL_LATIN1_GENERAL_CS_AS" n'existe pas il n y a que "LATIN1_GENERAL_CS_AS"

    Ou je me trompe ?

    Merci.

    A+
    SDR.
    "ceux qui vivent, ce sont ceux qui luttent."

  4. #4
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 348
    Points : 604
    Points
    604
    Par défaut
    Bonjour,

    SQL_LATIN1_GENERAL_CS_AS OU LATIN1_GENERAL_CS_AS sont identiques ?

    Merci.

    A+
    SDR.
    "ceux qui vivent, ce sont ceux qui luttent."

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 772
    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 772
    Points : 52 729
    Points
    52 729
    Billets dans le blog
    5
    Par défaut
    La liste des collations disponible est obtenue par la requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM sys.fn_helpcollations()
    Vous y trouverez deux sortes de collations :
    1) les collations purement sémantique offrant toutes les possibilités de manipulation des chaines de caractères. Le nom de ces collations commencent par le nom de la langue. Par exemple LATIN_...
    2) les collations techniques reposant sur un jeu de caractères spécifique. Le nom de ces collations commence par SQL_. Elles offrent des possibilités très limitées de manipulation des chaines de caractères
    Il est d'usage de prendre pour collation d'une base les premières, tandis que les autres sont utilisées pour récupérer des fichiers ayant un encodage particulier….

    Une collation LATIN n'étant intéressant au niveau du serveur que dans le cas ou vos base ne vont travailler qu'en anglais…

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT * 
    FROM   sys.fn_helpcollations() 
    WHERE  name LIKE 'Latin%'
    Donne la liste des collations "Latin" sémantique. Vous en aurez 52, avec 2 familles la version ancienne et la version 100 chacune étant déclinées en 26 possibilités

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT * 
    FROM   sys.fn_helpcollations() 
    WHERE  name LIKE 'SQL_Latin%'
    Donne la liste des collations "Latin" techniques. Vous en aurez 31, réparties en 10 familles spécifiques pour les différentes pages de codes : 437, 850, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257 qui correspondent donc aux différentes langues (anglais, français, cyrillique, latin, grec, hébreu, arabe….). Elles ont très peu de déclinaisons…

    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/ * * * * *

  6. #6
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 348
    Points : 604
    Points
    604
    Par défaut
    Merci bcp SQLpro,

    Je choisie donc LATIN1_GENERAL_CS_AS.

    Merci.

    A+
    SDR.
    "ceux qui vivent, ce sont ceux qui luttent."

  7. #7
    Membre expérimenté

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Septembre 2003
    Messages : 733
    Points : 1 668
    Points
    1 668
    Billets dans le blog
    8
    Par défaut
    Bonjour,

    Il me semble avoir lu quelque part dans la documentation, que les collations en SQL_xxx ne garantissent pas le même ordre de tri (ORDER BY) selon que la colonne soit de type varchar ou nvarchar (UNICODE)
    En d’autres termes, si pour une raison ou une autre, vous transformez une colonne, ayant une collation SQL_xxx, de varchar en nvarchar (ou inversement), l’ordre de tri risque de changer, et ce, pour les mêmes données et même collation SQL_xxx !!!
    Alors que ce phénomène, toujours d’après la documentation, ne se produit pas pour les autres collations, celles qui ne commencent pas par SQL_xxx, exemple LATIN1_GENERAL_CS_AS.

    PS : J’avoue que je n’ai jamais été confronté à ce problème (?).

    SQLPro pourra nous confirmer voire contredire ce que je viens d’annoncer.

    Merci,

    A+
    "Une idée mal écrite est une idée fausse !"
    http://hamid-mira.blogspot.com

  8. #8
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 772
    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 772
    Points : 52 729
    Points
    52 729
    Billets dans le blog
    5
    Par défaut
    Effectivement le tri dans les collations technique est strictement fonction du classement des octets définit dans les spécificité de l'encodage…. Celle des collations sémantique est fonction de la stricte sémantique et ça change tout !

    Démo :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    CREATE TABLE T_SQL_LATIN1
    (MOT_A    VARCHAR(32) COLLATE SQL_Latin1_General_CP1_CS_AS,
     MOT_U    NVARCHAR(32)  COLLATE SQL_Latin1_General_CP1_CS_AS);
    GO
     
    CREATE TABLE T_LATIN1
    (MOT_A    VARCHAR(32) COLLATE Latin1_General_CS_AS,
     MOT_U    NVARCHAR(32)  COLLATE Latin1_General_CS_AS);
    GO
    Les données :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    INSERT INTO T_SQL_LATIN1 VALUES
    ('ex-æquo', 'ex-æquo'),,
    ('ex-aequo', 'ex-aequo');
    GO
     
    INSERT INTO T_LATIN1
    SELECT * FROM T_SQL_LATIN1;
    GO
    Les tests :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT * FROM T_LATIN1 ORDER BY 1;
    SELECT * FROM T_SQL_LATIN1 ORDER BY 1;
    SELECT * FROM T_LATIN1 ORDER BY 2;
    SELECT * FROM T_SQL_LATIN1 ORDER BY 2;
    Le résultat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    MOT_A                            MOT_U
    -------------------------------- --------------------------------
    ex-æquo                          ex-æquo
    ex-aequo                         ex-aequo
     
    (2*lignes affectées)
     
    MOT_A                            MOT_U
    -------------------------------- --------------------------------
    ex-aequo                         ex-aequo
    ex-æquo                          ex-æquo
     
    (2*lignes affectées)
     
    MOT_A                            MOT_U
    -------------------------------- --------------------------------
    ex-æquo                          ex-æquo
    ex-aequo                         ex-aequo
     
    (2*lignes affectées)
     
    MOT_A                            MOT_U
    -------------------------------- --------------------------------
    ex-æquo                          ex-æquo
    ex-aequo                         ex-aequo
    Cela est du à un fonctionnaire français qui n'a pas fait son boulot lors du comité de normalisation de l'Unicode…

    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/ * * * * *

  9. #9
    Membre expérimenté

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Septembre 2003
    Messages : 733
    Points : 1 668
    Points
    1 668
    Billets dans le blog
    8
    Par défaut
    OK. Merci SQLPro pour ces explications détaillées et ces exemples concrets. C’est très clair .

    A+
    "Une idée mal écrite est une idée fausse !"
    http://hamid-mira.blogspot.com

  10. #10
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 154
    Points : 7 403
    Points
    7 403
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par SQLpro Voir le message
    Cela est du à un fonctionnaire français qui n'a pas fait son boulot lors du comité de normalisation de l'Unicode…
    J'adore... il doit y avoir 3 caractères franco-français qui se courent après... ben nan, le gars il a pas réussi à les coller dans l'ordre...
    Nom : menfin.jpg
Affichages : 134
Taille : 28,4 Ko
    On ne jouit bien que de ce qu’on partage.

Discussions similaires

  1. Encore une question licence
    Par Neilos dans le forum C++Builder
    Réponses: 4
    Dernier message: 27/01/2005, 09h48
  2. Encore une question sur malloc
    Par IG88 dans le forum C
    Réponses: 5
    Dernier message: 23/06/2004, 15h35
  3. [.NET] Une question technique a propos du mode asynchrone
    Par nicknolt dans le forum Général Dotnet
    Réponses: 4
    Dernier message: 08/06/2004, 10h07
  4. Une question à propos des thread
    Par tscoops dans le forum C++Builder
    Réponses: 4
    Dernier message: 07/11/2003, 14h03

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