On 12/09/2017 08:46, Magnus Johansson wrote:
>
> After I replaced the ICU libraries as described before, I created a database, 
> some collations and a table with some data:
...
>  
>  
> CREATE COLLATION ISO_SV_CI
>        FOR ISO8859_1
>        FROM SV_SV
>        CASE INSENSITIVE;

This has nothing to do with ICU. This is old collation inherited from
Interbase or earlier developed in Firebird before ICU adoption. It
probably is not suitable for CASE INSENSITIVE or others options.

If you want to use ICU with ISO8859_1, you should use ISO8859_1_UNICODE
in FROM.


>   
> SELECT FIELD_UTF_SV_CI_NUM
> FROM   TABLE_T
> WHERE  FIELD_UTF_SV_CI_NUM BETWEEN '' AND 'b'
> ORDER BY 1;
>  
> FIELD_UTF_SV_CI_NUM 
> =================== 
> 1                   
> 2                   
> 10                  
> 20                  
> a                   
> A                   
> aa                  
> Aa                  
> AA                  
> b                   
> =================== 
> Not the expected result.
> Where did the 'B' go? 

This should be verified.

You can also test:


CREATE COLLATION UTF_SV_CI_NUM
       FOR UTF8
       FROM UNICODE
       CASE INSENSITIVE
      'LOCALE=sv_SE;NUMERIC-SORT=1;MULTI-LEVEL=0';


Adriano


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to