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

SQL SERVER - Comprendre le fonctionnement de MIN(texte)

Il est déterminé par le classement (ordre de tri). Pour la plupart des cultures, l'ordre de classement est le même que l'ordre alphabétique de l'alphabet anglais, donc :

  • 'AA' <'AB'
  • 'AA' <'AC'
  • 'AB' <'AC'

Par conséquent, 'AA' est la valeur minimale. Pour d'autres cultures, cela peut ne pas tenir. Par exemple, une collation danoise renverrait 'AB' comme minimum car 'AA'> 'AB'. En effet, « AA » est traité comme l'équivalent de « Å », qui est la dernière lettre de l'alphabet danois.

SELECT MIN(s COLLATE Danish_Norwegian_CI_AS) FROM table1;

min_s
AB

Pour obtenir un ordre de tri "ordinaire", utilisez le Latin1_General_Bin collation :

SELECT MIN(s COLLATE Latin1_General_Bin) FROM table1;

min_s
AA

Pour reproduire ce résultat vous pouvez créer cette table de test :

CREATE TABLE table1 (s varchar(100));
INSERT INTO table1 (s) VALUES ('AA'), ('AB'), ('AC');