conversion of literal values, or lack thereof
(1) By Poor Yorick (pooryorick) on 2021-06-04 12:33:04 [link] [source]
In the following example, the literal value
'1' is not converted
to a numeric value in the first case, but in the second and third cases, it is:
create table t1(c1 integer)
; insert into t1(c1) values (1)
;select 1 = '1'
, cast(1 as numeric) = '1'
, (select c1 from t1 where c1 = 1) = '1'
0 1 1
Why not make that more consistent by converting in the first case as well?
The suggestion makes sense. Except the current behavior is very carefully documented and tested and has been in use for many years. We can't risk breaking billions and billions of deployed applications for a small increase in design consistency.