Skip to content

toInt32OrNull('-2147483648') unexpectedly returns NULL #27800

@depressed-pho

Description

@depressed-pho

Describe the bug

-2147483648 is the minimum integer representable with Int32, but toInt32OrNull('-2147483648') returns NULL. On the other hand toInt32('-2147483648') correctly returns -2147483648.

Does it reproduce on recent release?

Yes. It happens on 21.7.5.29-stable

How to reproduce

SELECT
    toInt32('-2147483648'),
    toInt32OrNull('-2147483648')

Query id: 94f4e069-6c0e-44d9-8e94-7ee83b90a529

┌─toInt32('-2147483648')─┬─toInt32OrNull('-2147483648')─┐
│            -2147483648 │                         ᴺᵁᴸᴸ │
└────────────────────────┴──────────────────────────────┘

Expected behavior

toInt32('-2147483648') and toInt32OrNull('-2147483648') should both return -2147483648.

Metadata

Metadata

Assignees

Labels

bugConfirmed user-visible misbehaviour in official releaseminorPriority: minor

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions