Subject Re: [IB-Conversions] About COLLATE conversion from MSSQL....
Author Helen Borrie
At 11:30 PM 2/07/2004 +0000, you wrote:
>Hi
>
>I'm converting a large DB from MSSQL2k --> FB1.5Final and i'm having
>some trouble grasping these COLLATE's that my former colleagues put
>on their MSSQL tables : (example column)
>
>...,Name varchar (50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT
>NULL,...
>
> >From what i got from the MSSQL docs, this means that the up to 50
>chars in this field, can be only Latin1 chars of Codepage 1252(=CP1)
>and in any case(=CI) and that this Collation should be the default
>one.
> In Firebird 1.5, is it also the case that it is the default, if i
>haven't tampered with the serverside settings and how do i check
>which one is the default Collation ?

The default collation is the one whose name is the same as the character
set. It's a binary collation: orderings are based on the decimal code of
the characters and there is no out-of-sequence mapping, i.e locale-specific
sort/search orders.

>If i should need to explicitly specify every collation like this
>one, should i then use :
>
>...,Name varchar (50) character set WIN1252 collate WIN1252,...
>
>or
>
>...,Name varchar (50) character set ISO8859_1collate ISO8859_1,...

You don't need to specify a collate sequence if you want the default one -
declare collates specifically on columns that you want to index for a
specific upper-to-lowercase mapping or sort/search order.

You can also specify a collate sequence on columns during SELECTs, and also
for GROUP BY groupings.

Note that the non-binary collations drastically reduce the maximum width of
columns you are going to index...

Helen