sql >> Database >  >> RDS >> Sqlserver

Waarom negeert de SQL Server automatisch de lege ruimte aan het einde?

SQL Server volgt de ANSI/ISO-standaard voor het vergelijken van strings.

Het artikel Hoe SQL Server strings vergelijkt met volgspaties legt dit in detail uit.

SQL Server volgt de ANSI/ISO SQL-92-specificatie... voor het vergelijken van strings met spaties. De ANSI-standaard vereist opvulling voor de tekenreeksen die in vergelijkingen worden gebruikt, zodat hun lengte overeenkomt voordat ze worden vergeleken. De opvulling is rechtstreeks van invloed op de semantiek van de WHERE- en HAVING-clausulepredikaten en andere Transact-SQL-tekenreeksvergelijkingen. Transact-SQL beschouwt bijvoorbeeld de tekenreeksen 'abc' en 'abc ' als equivalent voor de meeste vergelijkingsbewerkingen.

Ook, zoals uitgelegd in het artikel, als je vergelijkt met LIKE jij doet niet krijg dit gedrag.



  1. De CHECK-component voor bij te werken weergaven

  2. Voordelen van het leren van nieuwe DB-systemen

  3. Grondbeginselen van tabeluitdrukkingen, deel 4 – Afgeleide tabellen, overwegingen voor optimalisatie, vervolg

  4. Prestatieproblemen:de eerste ontmoeting