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

Comparación de cadenas SQL, operadores mayor que y menor que

Los operadores de comparación (incluyendo < y > ) "trabajan" con valores de cadena además de números.

Para MySQL

De forma predeterminada, las comparaciones de cadenas no distinguen entre mayúsculas y minúsculas y utilizan el juego de caracteres actual. El valor predeterminado es latin1 (cp1252 West European), que también funciona bien para inglés.

Las comparaciones de cadenas distinguirán entre mayúsculas y minúsculas cuando la intercalación del conjunto de caracteres de las cadenas que se comparan distinga entre mayúsculas y minúsculas, es decir, el nombre del conjunto de caracteres termina en _cs en lugar de _ci . Realmente no tiene sentido repetir toda la información que está disponible en el Manual de referencia de MySQL aquí.

Referencia de operadores de comparación de MySQL:
http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html

Más información sobre juegos de caracteres/colocaciones de MySQL:
http://dev.mysql.com/doc/refman/5.5/en/charset.html

Para responder a las preguntas específicas que hizo:

P: ¿Es esta una forma posible de comparar cadenas en SQL?

R: Sí, tanto en MySQL como en SQL Server

P: y como actua?

R: Un operador de comparación devuelve un valor booleano, ya sea VERDADERO, FALSO o NULO.

P: una cadena menor que otra viene antes en el orden del diccionario? Por ejemplo, ¿la pelota es menor que el agua?

R: Sí, porque 'b' viene antes de 'w' en la colación del conjunto de caracteres, la expresión

  'ball' < 'water'

devolverá VERDADERO. (Esto depende del juego de caracteres y en la colección .

P: y esta comparación distingue entre mayúsculas y minúsculas?

R: Si una comparación en particular distingue entre mayúsculas y minúsculas o no, depende del servidor de la base de datos; de forma predeterminada, tanto SQL Server como MySQL no distinguen entre mayúsculas y minúsculas.

En MySQL es posible hacer comparaciones de cadenas especificando una intercalación de juegos de caracteres que distingue entre mayúsculas y minúsculas (el nombre del juego de caracteres terminará en _cs en lugar de _ci)

P: Por ejemplo BALL

R: De forma predeterminada, tanto en SQL Server como en MySQL, la expresión

  'BALL' < 'water'

devolvería VERDADERO.