Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comparaison de chaînes SQL, opérateurs supérieur à et inférieur à

Les opérateurs de comparaison (dont < et > ) "fonctionne" avec des valeurs de chaîne ainsi que des nombres.

Pour MySQL

Par défaut, les comparaisons de chaînes ne sont pas sensibles à la casse et utilisent le jeu de caractères actuel. La valeur par défaut est latin1 (cp1252 Europe de l'Ouest), qui fonctionne également bien pour l'anglais.

Les comparaisons de chaînes seront sensibles à la casse lorsque le classement du jeu de caractères des chaînes comparées est sensible à la casse, c'est-à-dire que le nom du jeu de caractères se termine par _cs plutôt que _ci . Il est vraiment inutile de répéter ici toutes les informations disponibles dans MySQL Reference Manual.

Référence des opérateurs de comparaison MySQL :
http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html

Plus d'informations sur les jeux de caractères/collations MySQL :
http://dev.mysql.com/doc/refman/5.5/en/charset.html

Pour répondre aux questions spécifiques que vous avez posées :

Q : est-ce un moyen possible de comparer des chaînes en SQL ?

R : Oui, dans MySQL et SQL Server

Q : et comment agit-il ?

R : Un opérateur de comparaison renvoie un booléen, soit TRUE, FALSE ou NULL.

Q : une chaîne inférieure à une autre vient avant dans l'ordre du dictionnaire ? Par exemple, la balle est inférieure à l'eau ?

R : Oui, car 'b' vient avant 'w' dans le classement du jeu de caractères, l'expression

  'ball' < 'water'

renverra VRAI. (Cela dépend du jeu de caractères et sur la collation .

Q : et cette comparaison est sensible à la casse ?

R : Le fait qu'une comparaison particulière soit sensible à la casse ou non dépend du serveur de base de données; par défaut, SQL Server et MySQL sont insensibles à la casse.

Dans MySQL, il est possible de faire des comparaisons de chaînes en spécifiant un classement de jeu de caractères sensible à la casse (le nom du jeu de caractères se terminera par _cs plutôt que _ci)

Q : Par exemple BOULE

R : Par défaut, dans SQL Server et MySQL, l'expression

  'BALL' < 'water'

renverrait TRUE.