Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Bagaimana cara kerja konversi implisit dengan perbandingan (<>) representasi varchar dari bilangan bulat di SQL Server?

Anda tidak bisa. 3 < 200, tapi '3' > '200' . Saat beroperasi pada VARCHAR, operator pembanding menggunakan urutan pengurutan alfanumerik yang ditentukan oleh COLLATION.

misal:

drop table if exists #t 

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

select *
from #t
WHERE PayCode > '200'


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Aturan tidak digunakan lagi, apa yang diganti (TSQL)?

  2. SQL Server 2016:Cadangkan Database

  3. Menghapus duplikasi dalam pernyataan ROW_NUMBER() dinamis OVER ORDER BY

  4. Mencegah Injeksi SQL di ASP.Net

  5. Internal dari Tujuh Jenis SQL Server – Bagian 2