OVH Cloud OVH Cloud

Collation

10 réponses
Avatar
Brigitte
Bonjour,

Pouvez-vous me confirmer que les collations :

SQL_LATIN1_GENERAL_CP1_CI_AS et LATIN1_GENERAL_CI_AS sont identiques?

Merci

Brigitte

10 réponses

Avatar
Philippe [MS]
Pas tout à fait mais gère différente :

SQL_LATIN1_GENERAL_CP1_CI_AS Sort Order Id = 52 (collation SQL)
LATIN1_GENERAL_CI_AS Sort Order Id = 72
(collation Windows)

Cela doit par contre donner sensiblement le même résultat. De mon coté, je
n'utilise systématiquement que les collation SQL.

Phil.

"Brigitte" wrote in message
news:
Bonjour,

Pouvez-vous me confirmer que les collations :

SQL_LATIN1_GENERAL_CP1_CI_AS et LATIN1_GENERAL_CI_AS sont identiques?

Merci

Brigitte


Avatar
Sylvain Lafontaine
Article intéressant à lire sur le sujet des collations:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnsql2k/html/sql_dataencoding.asp

S. L.

"Brigitte" wrote in message
news:
Bonjour,

Pouvez-vous me confirmer que les collations :

SQL_LATIN1_GENERAL_CP1_CI_AS et LATIN1_GENERAL_CI_AS sont identiques?

Merci

Brigitte


Avatar
Philippe [MS]
Il y a aussi celui ci :
http://sql.developpez.com/sqlserver/collations/

Phil.

"Sylvain Lafontaine" <sylvain aei ca (fill the blanks, no spam please)>
wrote in message news:
Article intéressant à lire sur le sujet des collations:




http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnsql2k/html/sql_dataencoding.asp

S. L.

"Brigitte" wrote in message
news:
> Bonjour,
>
> Pouvez-vous me confirmer que les collations :
>
> SQL_LATIN1_GENERAL_CP1_CI_AS et LATIN1_GENERAL_CI_AS sont identiques?
>
> Merci
>
> Brigitte




Avatar
Med Bouchenafa
Si possible, il ne faut utliser que les collations Windows
Les collations SQL Server ne sont là que pour des raisons de compatibilité.
Dans le cas présent, les deux collations sont parfaitement équivalentes
La première (SQL_LATIN1_GENERAL_CP1_CI_AS) est une collataion SQL .
La seconde( LATIN1_GENERAL_CI_AS) est une collation Windows
Elles utilisent toutes les deux le code page 1252.
Elles sont insensibles à la casse et sensibles aux accents
Elles utilisent toutes les deux l'ordre de tri du dictionnaire.

Si possible n'utiliser que la seconde

Bien cordialement
Med Bouchenafa

"Brigitte" wrote in message
news:
Bonjour,

Pouvez-vous me confirmer que les collations :

SQL_LATIN1_GENERAL_CP1_CI_AS et LATIN1_GENERAL_CI_AS sont identiques?

Merci

Brigitte


Avatar
deconnected
Bonjour,

Pourquoi utiliser de préférence la collation Windows plutot que la collation
SQL ?

Merci :)


"Med Bouchenafa" a écrit dans le message de
news:
Si possible, il ne faut utliser que les collations Windows
Les collations SQL Server ne sont là que pour des raisons de


compatibilité.
Dans le cas présent, les deux collations sont parfaitement équivalentes
La première (SQL_LATIN1_GENERAL_CP1_CI_AS) est une collataion SQL .
La seconde( LATIN1_GENERAL_CI_AS) est une collation Windows
Elles utilisent toutes les deux le code page 1252.
Elles sont insensibles à la casse et sensibles aux accents
Elles utilisent toutes les deux l'ordre de tri du dictionnaire.

Si possible n'utiliser que la seconde

Bien cordialement
Med Bouchenafa

"Brigitte" wrote in message
news:
> Bonjour,
>
> Pouvez-vous me confirmer que les collations :
>
> SQL_LATIN1_GENERAL_CP1_CI_AS et LATIN1_GENERAL_CI_AS sont identiques?
>
> Merci
>
> Brigitte




Avatar
lionelp
Bonjour,

La collation SQL (SQL_LATIN1_GENERAL_CP1_CI_AS) est là pour des raisons de
compatibilité avec les versions antérieurs de SQL Server.

Cordialement,
LionelP

"deconnected" wrote:

Bonjour,

Pourquoi utiliser de préférence la collation Windows plutot que la collation
SQL ?

Merci :)


"Med Bouchenafa" a écrit dans le message de
news:
> Si possible, il ne faut utliser que les collations Windows
> Les collations SQL Server ne sont là que pour des raisons de
compatibilité.
> Dans le cas présent, les deux collations sont parfaitement équivalentes
> La première (SQL_LATIN1_GENERAL_CP1_CI_AS) est une collataion SQL .
> La seconde( LATIN1_GENERAL_CI_AS) est une collation Windows
> Elles utilisent toutes les deux le code page 1252.
> Elles sont insensibles à la casse et sensibles aux accents
> Elles utilisent toutes les deux l'ordre de tri du dictionnaire.
>
> Si possible n'utiliser que la seconde
>
> Bien cordialement
> Med Bouchenafa
>
> "Brigitte" wrote in message
> news:
> > Bonjour,
> >
> > Pouvez-vous me confirmer que les collations :
> >
> > SQL_LATIN1_GENERAL_CP1_CI_AS et LATIN1_GENERAL_CI_AS sont identiques?
> >
> > Merci
> >
> > Brigitte
>
>





Avatar
Sylvain Lafontaine
Il ne s'agit pas des collations Windows mais des collations Windows 2000,
dont les tables des différentes versions localisées ont été dupliquées dans
le code de SQL-Server. Il n'y a donc pas avantage à utiliser les collations
Windows à ce niveau là puisques ces tables ont été modifiées (encore!) sous
Windows XP et 2003 (et vont probablement l'être pour Longhorn). Les
collations SQL n'assurent donc pas seulement une compatibilité passée mais
également future.

Cependant, avec les collations Windows, tous les champs sont converties en
Unicode avant d'être comparés; vous aurez donc une égalité de tri même si
vous mélangez des champs char, varchar et text avec des champs nchar,
nvarchar et ntext. (L'unicode utilisée sera celui de Win2000, ce qui ne
donnera donc pas nécessairement le même résultat que celui que vous
obtiendriez à utiliser la fonction CompareStringW si vous êtes sous WinXP ou
2003 ou Longhorn). Ceci n'est pas le cas avec les collations SQL, qui ne
feront pas cette conversion pour les champs non-unicode et seront donc
légèrement plus rapides pour les champs char, varchar et text.

Si vous n'utilisez que des champs Unicode (nchar, nvarchar et ntext);
l'Unicode de Win2000 sera toujours utilisé, cela quelque soit la collation
utilisée. Vous ne verrez donc pas de différence entre les deux types de
collations (mais vous obtiendrez toujours une différene par rapport à WinXP
et 2003). Notez qu'à moins d'être sévèrement étranglé par des problèmes
d'espace disque ou de mémoire (genre PDA); la recommendation de Microsoft
est de n'utiliser que les champs Unicodes, ceci afin d'éviter les problèmes
de code page entre les différents clients et le serveur. Si vous suivez
cette recommendation, cette discussion entre les deux types de collations
est donc superflue.

Finalement, bien peu d'être vous doivent être concernés par cette différence
entre les ordres de tri de caractères exotiques.

S. L.

"Med Bouchenafa" wrote in message
news:
Si possible, il ne faut utliser que les collations Windows
Les collations SQL Server ne sont là que pour des raisons de
compatibilité.
Dans le cas présent, les deux collations sont parfaitement équivalentes
La première (SQL_LATIN1_GENERAL_CP1_CI_AS) est une collataion SQL .
La seconde( LATIN1_GENERAL_CI_AS) est une collation Windows
Elles utilisent toutes les deux le code page 1252.
Elles sont insensibles à la casse et sensibles aux accents
Elles utilisent toutes les deux l'ordre de tri du dictionnaire.

Si possible n'utiliser que la seconde

Bien cordialement
Med Bouchenafa

"Brigitte" wrote in message
news:
Bonjour,

Pouvez-vous me confirmer que les collations :

SQL_LATIN1_GENERAL_CP1_CI_AS et LATIN1_GENERAL_CI_AS sont identiques?

Merci

Brigitte






Avatar
Philippe [MS]
Ouf, je croyai avoir dit une bétise lorsque j'ai dit que de mon coté, je
n'utilisai que les collation SQL !!! :-)

De toute façon, je n'utilise de mon coté que des champs Unicode alors... :-)

Merci pour ces infos détaillés.

Phil.

"Sylvain Lafontaine" <sylvain aei ca (fill the blanks, no spam please)>
wrote in message news:
Il ne s'agit pas des collations Windows mais des collations Windows 2000,
dont les tables des différentes versions localisées ont été dupliquées


dans
le code de SQL-Server. Il n'y a donc pas avantage à utiliser les


collations
Windows à ce niveau là puisques ces tables ont été modifiées (encore!)


sous
Windows XP et 2003 (et vont probablement l'être pour Longhorn). Les
collations SQL n'assurent donc pas seulement une compatibilité passée mais
également future.

Cependant, avec les collations Windows, tous les champs sont converties en
Unicode avant d'être comparés; vous aurez donc une égalité de tri même si
vous mélangez des champs char, varchar et text avec des champs nchar,
nvarchar et ntext. (L'unicode utilisée sera celui de Win2000, ce qui ne
donnera donc pas nécessairement le même résultat que celui que vous
obtiendriez à utiliser la fonction CompareStringW si vous êtes sous WinXP


ou
2003 ou Longhorn). Ceci n'est pas le cas avec les collations SQL, qui ne
feront pas cette conversion pour les champs non-unicode et seront donc
légèrement plus rapides pour les champs char, varchar et text.

Si vous n'utilisez que des champs Unicode (nchar, nvarchar et ntext);
l'Unicode de Win2000 sera toujours utilisé, cela quelque soit la collation
utilisée. Vous ne verrez donc pas de différence entre les deux types de
collations (mais vous obtiendrez toujours une différene par rapport à


WinXP
et 2003). Notez qu'à moins d'être sévèrement étranglé par des problèmes
d'espace disque ou de mémoire (genre PDA); la recommendation de Microsoft
est de n'utiliser que les champs Unicodes, ceci afin d'éviter les


problèmes
de code page entre les différents clients et le serveur. Si vous suivez
cette recommendation, cette discussion entre les deux types de collations
est donc superflue.

Finalement, bien peu d'être vous doivent être concernés par cette


différence
entre les ordres de tri de caractères exotiques.

S. L.

"Med Bouchenafa" wrote in message
news:
> Si possible, il ne faut utliser que les collations Windows
> Les collations SQL Server ne sont là que pour des raisons de
> compatibilité.
> Dans le cas présent, les deux collations sont parfaitement équivalentes
> La première (SQL_LATIN1_GENERAL_CP1_CI_AS) est une collataion SQL .
> La seconde( LATIN1_GENERAL_CI_AS) est une collation Windows
> Elles utilisent toutes les deux le code page 1252.
> Elles sont insensibles à la casse et sensibles aux accents
> Elles utilisent toutes les deux l'ordre de tri du dictionnaire.
>
> Si possible n'utiliser que la seconde
>
> Bien cordialement
> Med Bouchenafa
>
> "Brigitte" wrote in message
> news:
>> Bonjour,
>>
>> Pouvez-vous me confirmer que les collations :
>>
>> SQL_LATIN1_GENERAL_CP1_CI_AS et LATIN1_GENERAL_CI_AS sont identiques?
>>
>> Merci
>>
>> Brigitte
>
>




Avatar
Med Bouchenafa
En dehors du fait que l'Aide En Ligne recommande de toujours utiliser, dans la mesure du possible,
que des collations Windows, il faut comprendre qu'une collation SQL Server est ensemble de trois
choses
-Une page de code pour les données non unicode
-Un ordre de tri pour les pages non unicode
-Un ordre de tri pour les pages unicode
En choisissant une collation de type SQL, il est tout à fait possible d'avoir, pour les données
unicode et non unicode, des ordres de tri différents.
Ce peut conduire à des résultats bizarres et pas forcément attendus par l'utilisateur.
Dans une collation de type Windows, c'est toujours le même ordre de tri qui est appliqué pour les
données unicode et non unicode et il ne peut y avoir de confusion possible

Bien cordialement
Med Bouchenafa

"deconnected" a écrit dans le message de news:

Bonjour,

Pourquoi utiliser de préférence la collation Windows plutot que la collation
SQL ?

Merci :)


"Med Bouchenafa" a écrit dans le message de
news:
> Si possible, il ne faut utliser que les collations Windows
> Les collations SQL Server ne sont là que pour des raisons de
compatibilité.
> Dans le cas présent, les deux collations sont parfaitement équivalentes
> La première (SQL_LATIN1_GENERAL_CP1_CI_AS) est une collataion SQL .
> La seconde( LATIN1_GENERAL_CI_AS) est une collation Windows
> Elles utilisent toutes les deux le code page 1252.
> Elles sont insensibles à la casse et sensibles aux accents
> Elles utilisent toutes les deux l'ordre de tri du dictionnaire.
>
> Si possible n'utiliser que la seconde
>
>
>
> "Brigitte" wrote in message
> news:
> > Bonjour,
> >
> > Pouvez-vous me confirmer que les collations :
> >
> > SQL_LATIN1_GENERAL_CP1_CI_AS et LATIN1_GENERAL_CI_AS sont identiques?
> >
> > Merci
> >
> > Brigitte
>
>




Avatar
deconnected
"Brigitte" a écrit dans le message de
news:
Bonjour,

Pouvez-vous me confirmer que les collations :

SQL_LATIN1_GENERAL_CP1_CI_AS et LATIN1_GENERAL_CI_AS sont identiques?

Merci

Brigitte