sql >> Base de Datos >  >> RDS >> Sqlserver

¿Por qué SQL Server ignora el espacio vacío al final automáticamente?

SQL Server sigue el estándar ANSI/ISO para la comparación de cadenas.

El artículo Cómo SQL Server compara cadenas con espacios finales explica esto en detalle.

SQL Server sigue la especificación ANSI/ISO SQL-92... sobre cómo comparar cadenas con espacios. El estándar ANSI requiere relleno para las cadenas de caracteres utilizadas en las comparaciones para que sus longitudes coincidan antes de compararlas. El relleno afecta directamente la semántica de los predicados de las cláusulas WHERE y HAVING y otras comparaciones de cadenas de Transact-SQL. Por ejemplo, Transact-SQL considera que las cadenas 'abc' y 'abc ' son equivalentes para la mayoría de las operaciones de comparación.

Además, como se explica en el artículo, si se compara con LIKE tu no obtener este comportamiento.