Skip to content

Wrong implicit cast result #8874

@EPluribusUnum

Description

@EPluribusUnum

Hi *!

row_no_a and row_no_x should be the same: '1'. but without explicit integer cast the result is '1.000000000000000'. ROW_NO is an INTEGER

ROW_NO ROW_NO_A ROW_NO_X
2 1 1.000000000000000

3.0.13, Dialect 1 - Wrong
4.0.6, Dialect 1 - Wrong
5.0.3, Dialect 1 - Wrong


WITH RECURSIVE rowcount (row_no, row_no_a, row_no_x) AS
(
SELECT  1 row_no, CAST('0' AS VARCHAR(2)) row_no_a, CAST('0' AS VARCHAR(20))
FROM rdb$database 
UNION ALL
SELECT  c.row_no + 1, CAST(CAST(c.row_no AS INTEGER) AS VARCHAR(2)), CAST(c.row_no AS VARCHAR(20))
FROM rdb$database 
JOIN rowcount c ON  c.row_no<=1)
SELECT * FROM rowcount WHERE row_no = 2

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions