sql >> Databáze >  >> RDS >> Sqlserver

Jak funguje implicitní převod s porovnáním (<>) varchar reprezentací celých čísel v SQL Server?

Nemůžeš. 3 < 200, ale '3' > '200' . Při provozu na VARCHAR používají operátory porovnání alfanumerické řazení definované pomocí COLLATION.

EG:

drop table if exists #t 

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

select *
from #t
WHERE PayCode > '200'


  1. Aktualizace sloupce MySQL, který obsahuje ve svém názvu tečku (.).

  2. SQLSTATE[42S22]:Sloupec nenalezen:1054 Neznámý sloupec „id“ v „klauzuli where“ (SQL:vyberte * z „skladeb“, kde „id“ =5 limit 1)

  3. Existuje způsob, jak použít ARRAY v Entity Framework + PostgreSql

  4. Je něco špatného na použití systému Windows-1252 místo UTF-8