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

SERVIDOR SQL:comprender cómo funciona MIN (texto)

Está determinado por la intercalación (Orden de clasificación). Para la mayoría de las culturas, el orden de clasificación es el mismo que el orden alfabético en el alfabeto inglés, por lo que:

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

Por lo tanto, 'AA' es el valor mínimo. Para otras culturas esto puede no ser válido. Por ejemplo, una intercalación danesa devolvería 'AB' como mínimo porque 'AA'> 'AB'. Esto se debe a que 'AA' se trata como equivalente a 'Å', que es la última letra del alfabeto danés.

SELECT MIN(s COLLATE Danish_Norwegian_CI_AS) FROM table1;

min_s
AB

Para obtener un orden de clasificación "ordinario", use Latin1_General_Bin colación:

SELECT MIN(s COLLATE Latin1_General_Bin) FROM table1;

min_s
AA

Para reproducir este resultado, puede crear esta tabla de prueba:

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