Consider script:
set bail on;
set heading off;
shell del r:\temp\tmp4test.fdb 2>nul;
create database 'localhost:r:\temp\tmp4test.fdb' user 'sysdba' password 'masterkey'; -- default character set utf8;
create table test_a(f01 varchar(5) primary key, f02 varchar(5));
create table test_b(f01 varchar(5), f02 int);
insert into test_a values('one', 'i');
insert into test_b values('one', 1);
set bail off;
set echo on;
select a.f01 from test_a a where exists (select 1 from test_b b where a.f01 = b.f02); --------------- [ 1 ]
select a.f01 from test_a a where exists (select 1 from test_b b where a.f01 = b.f02 rows 1); ------------ [ 2 ]
Query marked as [ 1 ] raises:
Statement failed, SQLSTATE = 22018
conversion error from string "one"
(expected)
Query marked as [ 2 ] raises:
- when no charset is specified in DB declaration:
Statement failed, SQLSTATE = 22018
conversion error from string "one#x00#x00"
- when DB is declared with
default charset utf8:
Statement failed, SQLSTATE = 22018
conversion error from string "one#x00#x00#x00#x00#x00#x00#x00#x00#x00#x00#x00#x00#x00#x00#x00#x00#x00"
Checked on 4.0.6.3206, 5.0.3.1659, 6.0.0.799.
No such problem on 3.0.13.33807.
Consider script:
Query marked as
[ 1 ]raises:(expected)
Query marked as
[ 2 ]raises:default charset utf8:Checked on 4.0.6.3206, 5.0.3.1659, 6.0.0.799.
No such problem on 3.0.13.33807.