sql >> Databasteknik >  >> RDS >> Sqlserver

Varför ignorerar SQL Server det tomma utrymmet i slutet automatiskt?

SQL Server följer ANSI/ISO-standarden för strängjämförelse.

Artikeln How SQL Server Compares Strings with Trailing Spaces förklarar detta i detalj.

SQL Server följer ANSI/ISO SQL-92-specifikationen... om hur man jämför strängar med mellanslag. ANSI-standarden kräver utfyllnad för de teckensträngar som används i jämförelser så att deras längder matchar innan de jämförs. Utfyllnaden påverkar direkt semantiken för WHERE- och HAVING-satspredikaten och andra Transact-SQL-strängjämförelser. Transact-SQL anser till exempel att strängarna 'abc' och 'abc ' är likvärdiga för de flesta jämförelseoperationer.

Dessutom, som förklaras i artikeln, om du jämför med LIKE det gör du inte få det här beteendet.



  1. Django Migrations:A Primer

  2. Hur skulle jag få psycopg2-loggning av frågekörningstiden?

  3. DSN-filer och IRI-programvara

  4. Navigat för MySQL