sql - Conversion error in EXCEPT -
please see below sql
select 3 [col] except select cast(1.24 decimal(10,3)) [col] result 3.000 here, appears 3 converted decimal(10,3).
see next sql,
select 1 [col] except select cast(1.24 nvarchar(10)) [col] result msg 245, level 16, state 1, line 1 conversion failed when converting nvarchar value '1.24' info type int. here, appears like, 1.24 converted int.
if create 1 1.0 (decimal), 1 time again sql works fine.
select 1.0 [col] except select cast(1.24 nvarchar(10)) [col] result: 1.0 why behaving in contrasting manner, or 2nd error displayed in misleading fasion.?
in first query, select 3 [col] yields int , select cast(1.24 decimal(10,3)) [col] yields decimal; data type precedence means decimal attempted, , 1.24 converted successfully.
in sec query, select 3 [col] yields int , select cast(1.24 nvarchar(10)) [col] yields nvarchar; data type precedence means int attempted, 1.24 improve decimal.
in 3rd query, select 1.0 [col] yields decimal , select cast(1.24 nvarchar(10)) [col] yields nvarchar; data type precedence means decimal attempted, , 1.24 converted successfully.
in summary:
decimal before int
int before nvarchar
sql sql-server tsql
No comments:
Post a Comment