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

Tại sao SQL Server tự động bỏ qua khoảng trống ở cuối?

SQL Server tuân theo tiêu chuẩn ANSI / ISO để so sánh chuỗi.

Bài viết Cách SQL Server so sánh chuỗi với khoảng cách kéo giải thích chi tiết điều này.

SQL Server tuân theo đặc tả ANSI / ISO SQL-92 ... về cách so sánh chuỗi với khoảng trắng. Tiêu chuẩn ANSI yêu cầu phần đệm cho các chuỗi ký tự được sử dụng trong phép so sánh để độ dài của chúng khớp với nhau trước khi so sánh chúng. Phần đệm ảnh hưởng trực tiếp đến ngữ nghĩa của các vị từ mệnh đềWHERE và HAVING cũng như các so sánh chuỗi Transact-SQL khác. Ví dụ:Transact-SQL coi các chuỗi 'abc' và'abc 'là tương đương với hầu hết các thao tác so sánh.

Ngoài ra, như đã giải thích trong bài viết, nếu bạn so sánh với LIKE bạn không nhận được hành vi này.



  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 và khi nào một mệnh đề LEFT JOIN với điều kiện trong mệnh đề WHERE không tương đương với cùng một LEFT JOIN trong ON?

  2. Làm cách nào để sao chép cơ sở dữ liệu SQL Azure vào máy chủ phát triển cục bộ của tôi?

  3. 3 cách để xóa các dòng trùng lặp trong SQL Server khi bỏ qua khóa chính

  4. So sánh các kế hoạch thực thi trong SQL Server

  5. Ký tự thoát trong SQL Server