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+
Version imprimable
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+
A cocher voir pièce-jointe.
SQL_LATIN1_GENERAL_CS_AS et LATIN1_GENERAL_CS_AS sont identiques ?
MERCI.
A+
Après la consultation de:
Me semble que "SQL_LATIN1_GENERAL_CS_AS" n'existe pas il n y a que "LATIN1_GENERAL_CS_AS"Code:https://sqlpro.developpez.com/cours/sqlserver/collations/
Ou je me trompe ?
Merci.
A+
Bonjour,
SQL_LATIN1_GENERAL_CS_AS OU LATIN1_GENERAL_CS_AS sont identiques ?
Merci.
A+
La liste des collations disponible est obtenue par la requête :
Vous y trouverez deux sortes de collations :Code:SELECT * FROM sys.fn_helpcollations()
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…
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ésCode:
1
2
3 SELECT * FROM sys.fn_helpcollations() WHERE name LIKE '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…Code:
1
2
3 SELECT * FROM sys.fn_helpcollations() WHERE name LIKE 'SQL_Latin%'
A +
Merci bcp SQLpro,
Je choisie donc LATIN1_GENERAL_CS_AS.
Merci.
A+
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+
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 :
Les données :Code:
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 tests :Code:
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
Le résultat :Code:
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;
Cela est du à un fonctionnaire français qui n'a pas fait son boulot lors du comité de normalisation de l'Unicode…Code:
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
A +
OK. Merci SQLPro pour ces explications détaillées et ces exemples concrets. C’est très clair ;).
A+
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...
Pièce jointe 507571