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