Subject | Re: [Firebird-general] dictionary order Collation |
---|---|
Author | Helen Borrie |
Post date | 2005-10-14T10:07:22Z |
At 09:28 AM 14/10/2005 +0000, you wrote:
set. This determines the entire domain of character codes and mappings to
character images that includes the characters of your language.
<collation_order> determines any sequence other than the default, which is
binary, i.e. based on the sequential order of the character
codes. Firebird has dictionary collations for Scandinavian languages, one
for international English (meaning not US English) and one for languages
using the Latin1 character sets, based on the old DOS code page 850.
you didn't define a default character set for the database, its default
character set will be NONE.
the default character set has to have been defined to one that actually has
a collation that provides a dictionary sort order. Last and most
important, you have to know which dictionary sort order you want. In
English, for example, "dictionary sort order" for US English is different
to UK English...
You can define an individual column with a specific COLLATE
attribute: this will cause any index created on that column to be
organised in that specific dictionary sort order - as long as that
collation sequence (1) applies to the column's character set and (2)
actually defines a sort order that is acceptable to you.
All this says is that "dictionary sort order" is not the default for any
charset, and cannot be, and is by no means an absolute, even if it is
available.
./heLen
>Good Morning!No, you created the database with WIN1252 as the default character
>
> I have created a test db with WIN1252 as the collation.
set. This determines the entire domain of character codes and mappings to
character images that includes the characters of your language.
> When I select from a table (with order by), the varchar field isThe collation you provide in the order by clause, via the COLLATE
>not in dictionary order.
<collation_order> determines any sequence other than the default, which is
binary, i.e. based on the sequential order of the character
codes. Firebird has dictionary collations for Scandinavian languages, one
for international English (meaning not US English) and one for languages
using the Latin1 character sets, based on the old DOS code page 850.
> Using FB 1.5, WinXP, Dialect 3. When I installed FB, I did notYou can't specifiy a default collation. It is already set to binary. If
>specify a default collation.
you didn't define a default character set for the database, its default
character set will be NONE.
> How do I set up a db to be case insensitive, dictionary order?First, you can't set up a db to case insensitive, period. Secondly, either
the default character set has to have been defined to one that actually has
a collation that provides a dictionary sort order. Last and most
important, you have to know which dictionary sort order you want. In
English, for example, "dictionary sort order" for US English is different
to UK English...
You can define an individual column with a specific COLLATE
attribute: this will cause any index created on that column to be
organised in that specific dictionary sort order - as long as that
collation sequence (1) applies to the column's character set and (2)
actually defines a sort order that is acceptable to you.
All this says is that "dictionary sort order" is not the default for any
charset, and cannot be, and is by no means an absolute, even if it is
available.
./heLen