Ticket Hash: | 4d01eda8115b10d1227b62352c750655a279d310 | ||
Title: | IS TRUE operator malfunctions with COLLATE and REAL value | ||
Status: | Closed | Type: | Code_Defect |
Severity: | Critical | Priority: | Immediate |
Subsystem: | Unknown | Resolution: | Fixed |
Last Modified: | 2019-06-12 13:50:44 | ||
Version Found In: |
User Comments: | ||||
mrigger added on 2019-06-12 12:41:11:
It seems that using IS TRUE together with a COLLATE operator that is part of the right side of the expression results in an incorrect result: SELECT 0.5 IS TRUE COLLATE NOCASE; -- expected: 1, actual: 0 SELECT 0.5 IS TRUE COLLATE RTRIM; -- expected: 1, actual: 0 SELECT 0.5 IS TRUE COLLATE BINARY; -- expected: 1, actual: 0 Without the COLLATE, or if the COLLATE is on the left side, the result is as expected: SELECT 0.5 IS TRUE; -- 1 SELECT 0.5 COLLATE NOCASE IS TRUE; -- 1 The IS FALSE operator does not seem to be affected: SELECT 0.5 IS FALSE COLLATE NOCASE; -- 0 SELECT 0.5 IS FALSE COLLATE RTRIM; -- 0 SELECT 0.5 IS FALSE COLLATE BINARY; -- 0 dan added on 2019-06-12 13:50:44: Fixed by [5c6146b56a75a94f]. |