Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come funziona la conversione implicita con i confronti (<>) di rappresentazioni varchar di numeri interi in SQL Server?

Non puoi. 3 < 200, ma '3' > '200' . Quando si opera su VARCHAR, gli operatori di confronto utilizzano un ordinamento alfanumerico definito da COLLATION.

ES:

drop table if exists #t 

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

select *
from #t
WHERE PayCode > '200'