Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como a conversão implícita funciona com comparações (<>) de representações varchar de inteiros no SQL Server?


Você não pode. 3 < 200, mas '3' > '200' . Ao operar em VARCHAR, os operadores de comparação usam uma ordem de classificação alfanumérica definida pelo COLLATION.

POR EXEMPLO:
drop table if exists #t 

create table #t(PayCode varchar(20))
insert into #t(PayCode) values ('3')

select *
from #t
WHERE PayCode > '200'