sql >> Databasteknik >  >> RDS >> Sqlserver

Hur fungerar implicit konvertering med jämförelser (<>) av varchar-representationer av heltal i SQL Server?

Du kan inte. 3 < 200, men '3' > '200' . När man använder VARCHAR använder jämförelseoperatorerna en alfanumerisk sorteringsordning som definieras av SAMLING.

T.ex.:

drop table if exists #t 

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

select *
from #t
WHERE PayCode > '200'


  1. Lagra UUID som sträng i mysql med JPA

  2. Hämta tabellberoendeordning i jdbc

  3. SQL:Upprepa en resultatrad flera gånger och numrera raderna

  4. Hur väljer jag effektivt det tidigare icke-nullvärdet?