Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment fonctionne la conversion implicite avec les comparaisons (<>) des représentations varchar d'entiers dans SQL Server ?

Vous ne pouvez pas. 3 < 200, mais '3' > '200' . Lorsqu'ils opèrent sur VARCHAR, les opérateurs de comparaison utilisent un ordre de tri alphanumérique défini par COLLATION.

EX :

drop table if exists #t 

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

select *
from #t
WHERE PayCode > '200'