fanticla has asked for the wisdom of the Perl Monks concerning the following question:
Dear folk
I am trying to learn how to use collation in DBD::SQLite... unfortunately withou success.
I have read the documentation, and I came up with the following:
#!/usr/bin/perl -w use warnings; use strict; use DBD::SQLite; $DBD::SQLite::COLLATION{no_accents} = sub { my ( $a, $b ) = map lc, @_; tr[ÀÁÂÃÄÅàáâãäåÇçÈÉÊËèéêëÌÍÎÏìíîïÒÓÔÕÖØòóôõöøÑñÙÚÛÜùúûüÝÿý] [AAAAAAaaaaaaCcEEEEeeeeIIIIiiiiOOOOOOooooooNnUUUUuuuuYyy] for $a +, $b; $a cmp $b; }; my $dbh = DBI->connect("dbi:SQLite:data.db"); my $sql = ("SELECT ID, one, two FROM table WHERE one = 'value' ORDE +R BY one COLLATE no_accents"); my $rows = $dbh->selectall_arrayref($sql); foreach my $row_db (@$rows ) { my ($ID, $one, $two) = @$row_db; print "$one\n"; }
I get an errore message: no such collation sequence. Waht am I doing wrong? I confess, I am a newbe in this. Thanks, Cla
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: DBD::SQLite collation
by moritz (Cardinal) on Dec 04, 2010 at 15:53 UTC | |
by fanticla (Scribe) on Dec 04, 2010 at 15:56 UTC | |
by moritz (Cardinal) on Dec 04, 2010 at 16:03 UTC |