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
In reply to DBD::SQLite collation by fanticla
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |