Skip to content

IN predicate with string-type elements is evaluated wrongly against a numeric field #8086

@edsongregorio

Description

@edsongregorio

--TEST TABLE AND REGISTERS
CREATE TABLE TABLEX (
ID INTEGER NOT NULL PRIMARY KEY,
TEXT VARCHAR(30)
);

INSERT INTO TABLEX (ID, TEXT) VALUES (1, 'REG 1');
INSERT INTO TABLEX (ID, TEXT) VALUES (2, 'REG 2');
INSERT INTO TABLEX (ID, TEXT) VALUES (3, 'REG 3');
INSERT INTO TABLEX (ID, TEXT) VALUES (11, 'REG 11');
INSERT INTO TABLEX (ID, TEXT) VALUES (12, 'REG 12');
INSERT INTO TABLEX (ID, TEXT) VALUES (13, 'REG 13');

--WORKS WELL
select * from TABLEX r where r.ID in ('1','12')
select * from TABLEX r where r.ID in (2,12)
select * from TABLEX r where r.ID in ('02','12')

--WRONG RESULT SET
select * from TABLEX r where r.ID in ('2','12')

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions