ORDER BY <field> COLLATE <collation order>
WHERE <field> = <value> COLLATE <collation order>
"NOCase" type sorting is a property of the collation order
How would
SELECT NOCASE(x) ...
be different from
SELECT UPPER(x) or LOWER(x) ??
Dave
> Case-insensitive collation drivers are fine most of the time. But
what I
> would really like to see is "true" case-insensitive searching and
ordering
> in Interbase(or is it Firebird?).
>
> A new keyword would be involved. i.e.
> SELECT ITEM, DESCRIPTION FROM ITEMTABLE ORDER BY ITEM NOCASE or
maybe
> SELECT NOCASE(ITEM) AS ITEM2, DESCRIPTION FROM ITEMTABLE ORDER BY
ITEM2
>
> The NOCASE or similar keyword would have to be added. Im sure this
is not as
> easy to accomplish as it looks, but after the dust settles here,
and the
> source gets straigtened out,(and after I learn C)I might start
hacking on
> it. It seems to be one of the more common questions/problems you
see on the
> newsgroups and lists.
>
> Paul Gallagher
>
> ----- Original Message -----
> From: "David Schnepper" <dave@c...>
> To: <IB-Architect@egroups.com>
> Sent: Tuesday, August 01, 2000 10:49 AM
> Subject: [IB-Architect] Re: Creating a case-insensitive collation
set
>
>
> > Well, a couple days earlier than planned, but I might as well
> > announce now:
> >
> > I have a set of 63 case-insensitive collation drivers at
> > http://www.brookstonesystems.com Currently in beta, but I should
be
> > final (for Windows) early next week. (Just want to get some more
> > beta feedback -- HINT!)
> >
> > Oh, and John --
> > - You need to change the tertiary orders to zero
> > - Some drivers need to change the secondary order to zero as
> > well (if you plan to assert that a == b whenever upper(a)==upper
(b))
> > - There's a couple bugs in the Interbase drivers (sorry, I wrote
> > them 8 years ago <grin>) - for instance, some of the drivers
> > think that <superscript-1> is a case varient of <digit 1>.
> >
> > How to assign numbers is documented in the InterBase collation
driver
> > construction kit documents. There should be a copy under the
> > InterBase.com tree somewhere, but there is also a copy at
> > www.brookstonesystems.com.
> >
> > AND VERY IMPORTANT: The final v6 has two problems
> > a) When the licensing code was removed, someone was over active
with
> > the delete key and changed the definition of the texttype
struct. So
> > the instructions in the kit are wrong
> > b) final V6 will not load gdsintl2 - it's looking in the wrong
places
> > for it.
> >
> > I know how to fix both a) and b) -- and will put fixes out once
the
> > CVS source trees settle themselves down (um, and can make a build
> > myself!)
> >
> > I worked around the problems above in ibCollate at
> > www.brookstonesystems.com
> >
> > Dave
> >
> >
> >
> > --- In IB-Architect@egroups.com, "John Lim" <johnlim@n...> wrote:
> > > Hello everyone,
> > >
> > > I have downloaded the interbase 6 source code and am interested
in
> > > creating a case-insensitive collation set for Latin-1. Somebody
> > > mentioned in another newsgroup (i think it was Claudio) that
> > someone
> > > else is doing it, but I see no signs of this!
> > >
> > > My general plan is to modify the collation tables to make A ==
a.
> > It
> > > appears that I have to change the tertiary sort order which
seems
> > > simple enough.
> > >
> > >
> > > My problems are
> > >
> > > 1. how to compile and generate a new gdsintl2 shared library?
> > >
> > > There is an article posted in interbase.com about
> > > http://www.interbase.com/open/research/art_collation_kit.html,
but
> > I
> > > cannot find any stuff on this in the interbase/intl directory.
> > There
> > > is no mention of "gdsintl2" in that directory.
> > >
> > > 2. And what the new character set id should be?
> > >
> > > I am thinking of using 121 as the CHARACTER_SET_ID because 21
is
> > > ISO8859_1. Is there any standardisation of numbers to use?
> > >
> > >
> > > --John
> >
> >
> >
> >
> > To unsubscribe from this group, send an email to:
> > IB-Architect-unsubscribe@onelist.com
> >
> >
> >
> >