04/02/2009, 13:25
|
| | | Fecha de Ingreso: enero-2008 Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 17 años Puntos: 260 | |
Respuesta: Dura con comparacion... Hola,
Internamente SQLServer le asigna un número a cada letra, dependiendo del lenguaje. Después hace comparaciones númericas para saber si una letra es mayor que otra en base a una tabla (especifica del 'character set').
ASCII
A = 65
Z = 90
La letra Z es mayor que la letra A.
Irónicamente la letra '2' (número 2 en decimal) se convierte en 49 (o 50?).
Y también se diferencian las minúsculas.
¿Donde está la Ñ?
Dependiendo del lenguaje puede ser mayor que la Z o estar después de la N.
Español: [ JKLMNÑOPQ ... ]
ASCII Normal : [ JKLMNOPQ ... Ñ ]
Saludos,
ps:
Claramente no puedes compara 'letras' con 'numeros'. Solamente en algunos casos donde exista conversión implícita, pero da muchos problemas. SQL internamente ha de ser mucho más complejo, esta es una simple explicación básica.
Última edición por HackmanC; 04/02/2009 a las 13:33
Razón: la letra '2' (cambie el 1 por que parecía ele).
|