Su consulta de ejemplo se traducirá en algo más o menos así:
seleccione [t0] .col1, [t0] .col2, ..., [ t0] .coln de [esquema]. [la gente] donde [t0] .UserName = @ p0
... el valor de la variable de nombre de usuario se pasarán en la variable SQL @ P0. Como tal, la sensibilidad de mayúsculas y minúsculas, la sensibilidad de acentos, etc., se controla mediante la intercalación que ha configurado para usar la instancia/SQL/tabla/columna de SQL Server. Si no se especifica en ningún otro lugar, se utiliza la intercalación predeterminada de la instancia de base de datos o de base de datos, pero la intercalación se puede especificar hasta el nivel de columna.
La mayoría de las personas ejecuta SQL Server con intercalaciones que no distinguen entre mayúsculas y minúsculas (CI), pero como he dicho anteriormente, se puede anular en la base de datos, así que solo tiene que comprobar qué colación tiene allí.
Esto está en contraste con si haces lo mismo que con una consulta L2O (linq a objetos), en ese caso la distinción entre mayúsculas y minúsculas es la predeterminada y deberías hacer que sea insensible a mayúsculas/minúsculas al usar el string.equals override que le permiten especificar la cultura y/o la insensibilidad del caso ...
¿Echas en falta algunas citas? Cambiar el caso de los nombres de las variables no afecta los resultados. –
no es lo que quise decir ver más arriba – zsharp