sql >> Database >  >> RDS >> Sqlserver

Hoe werkt impliciete conversie met vergelijkingen (<>) van varchar-representaties van gehele getallen in SQL Server?

Dat kan niet. 3 < 200, maar '3' > '200' . Bij het werken met VARCHAR gebruiken de vergelijkingsoperatoren een alfanumerieke sorteervolgorde gedefinieerd door de COLLATION.

Bv:

drop table if exists #t 

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

select *
from #t
WHERE PayCode > '200'


  1. Configureer SQL Server Always ON-beschikbaarheidsgroepen tussen twee synchrone replica's. Deel 2

  2. Postgres voegt waarde in van invoegen in andere tabel

  3. Kan geen databasetabel met de naam 'gebruiker' maken in PostgreSQL

  4. Waarom echoot rlwrap overbodig wat ik typ vanaf het toetsenbord?