Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Защо SQL Server автоматично игнорира празното пространство в края?

SQL Server следва стандарта ANSI/ISO за сравнение на низове.

Статията Как SQL Server сравнява низове с крайни интервали обяснява това подробно.

SQL Server следва ANSI/ISO SQL-92 спецификацията... за това как да сравнявате низове с интервали. Стандартът ANSI изисква подпълване на символните низове, използвани при сравнения, така че дължините им да съвпадат, преди да ги сравняват. Допълването пряко засяга семантиката на предикатите на клаузата WHERE и HAVING и други сравнения на низове на Transact-SQL. Например Transact-SQL счита низовете 'abc' и 'abc' за еквивалентни за повечето операции за сравнение.

Също така, както е обяснено в статията, ако сравните с LIKE виене разберете това поведение.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Върнете основния тип данни от стойност на SQL_Variant в SQL Server

  2. Използване на RegEx в SQL Server

  3. SQL Server BULK INSERT от Linux

  4. Какво означава ПОРЪЧАЙТЕ (ИЗБЕРЕТЕ NULL)?

  5. как да присвоите стойност на cte на променлива