Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Wie funktioniert die implizite Konvertierung mit Vergleichen (<>) von varchar-Darstellungen von ganzen Zahlen in SQL Server?

Du kannst nicht. 3 < 200, aber '3' > '200' . Beim Betrieb mit VARCHAR verwenden die Vergleichsoperatoren eine alphanumerische Sortierreihenfolge, die durch die COLLATION definiert ist.

ZB:

drop table if exists #t 

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

select *
from #t
WHERE PayCode > '200'