Subject Re: [firebird-support] [CHARSET] Different result whitn FB3 and FB25
Author Mark Rotteveel
On 24-7-2018 16:46, Dimitry Sibiryakov sd@...
[firebird-support] wrote:
> 24.07.2018 14:31, eric.gueguiniat@... [firebird-support] wrote:
>> By example how to do that :
>>
>>  SELECT IDSYSCONFGROUP FROM SYS_CONF_GROUP
>>  WHERE UPPER(CAST(SYSGROUP_NAME AS VARCHAR(100) CHARACTER SET ISO8859_1) COLLATE
>> FR_FR_CI_AI) = 'CAMERA'
>>
>> SYSGROUP_NAME can be written like this : caméra, camera,camèra,camêra ..
>
> First of all try to remove UPPER and put collate clause into CAST. Make sure that your
> connection charset is ISO8859_1, so string literal is recognized right.

The collate clause is not supported within CAST (which is an interesting
omission).

It should be sufficient - assuming SYSGROUP_NAME already is ISO8859_1 -
to use

SYSGROUP_NAME collate FR_FR_CI_AI = 'CAMERA'

Otherwise

CAST(SYSGROUP_NAME AS VARCHAR(100) CHARACTER SET ISO8859_1) COLLATE
FR_FR_CI_AI = 'CAMERA'

--
Mark Rotteveel