Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Chuyển đổi ngầm định hoạt động như thế nào với các phép so sánh (<>) của các biểu diễn varchar của các số nguyên trong SQL Server?

Bạn không thể. 3 < 200, nhưng '3' > '200' . Khi hoạt động trên VARCHAR, các toán tử so sánh sử dụng thứ tự sắp xếp chữ và số được xác định bởi 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tại sao truy vấn SQL của tôi để chèn một hàng trong bảng không hoạt động bình thường?

  2. T-SQL và mệnh đề WHERE LIKE% Tham số%

  3. SQLServer so với StateServer cho hiệu suất trạng thái phiên ASP.NET

  4. Chọn các mục như bản ghi từ một cột trong bảng khác

  5. Kịch bản thời gian thiết kế SQL-Server DB (phân tán hoặc tập trung)