Es común que cuando creemos un sistema con usuarios, queramos hacer diferenciación de mayusculas y minusculas para comparar el nombre de usuario y la contraseña.
Por defecto al instalar SQL este queda case insensitive, es decir cuando realizamos una consulta del tipo:
SELECT * FROM Usuarios WHERE user_name LIKE 'nombre_usuario' AND user_pass LIKE 'contrasena'
SQL considera que Turin = turin = TuRiN, entonces las contraseñas que utilizan mayusculas y minusculas para ser mas dificiles de decifrar no tienen sentido.
En SQL Server 2000, es necesario reinstalar y configurar busquedas binarias, en SQL 2005 es mas facil, ya que podemos cambiar las tablas e incluso las columnas para que sean case sensitive.
Para que una columna distinga mayusculas de minusculas se debe:
-Seleccionar la tabla que se desea modificar
-Click derecho y seleccionar modificar
-marcar sobre la columna que necesitamos que distinga mayusculas de minusculas
-buscar la propiedad "Intercalacion" o "Collation"
-y seleccionar "Distinguir mayúsculas de minúsculas"
Ahora, nuestras consultas sobre esa columna serán Case Sensitive.
Saludos.
lunes, 15 de septiembre de 2008
Diferenciar Mayusculas y minusculas en SQL Server 2005
Etiquetas:
case insensitive,
case sensitive,
collate,
Collation,
intercalar,
mayusculas,
minusculas,
sql 2005,
sql server 2005
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario