sql >> Database teknologi >  >> RDS >> Sqlserver

Hvorfor ignorerer SQL Server den tomme plads i slutningen automatisk?

SQL Server følger ANSI/ISO-standarden for strengsammenligning.

Artiklen How SQL Server Compares Strings with Trailing Spaces forklarer dette i detaljer.

SQL Server følger ANSI/ISO SQL-92-specifikationen... om hvordan man sammenligner strenge med mellemrum. ANSI-standarden kræver udfyldning af de tegnstrenge, der bruges i sammenligninger, så deres længder matcher, før de sammenlignes. Udfyldningen påvirker direkte semantikken af ​​WHERE- og HAVING-sætningsprædikater og andre Transact-SQL-strengsammenligninger. Transact-SQL anser f.eks. strengene 'abc' og 'abc ' for at være ækvivalente til de fleste sammenligningsoperationer.

Også, som forklaret i artiklen, hvis du sammenligner med LIKE du gør ikke få denne adfærd.



  1. (mysql, php) Hvordan får man auto_increment feltværdi før indsættelse af data?

  2. Tilslutning til PostgreSQL-database gennem SSH-tunneling i Python

  3. Hvorfor gik min MySQL-database ned? Få indsigt med den nye MySQL Freeze Frame

  4. Hvordan versionerer du dit databaseskema?