Pregunta

De acuerdo con la sqlite3 documentación ,

  

La cláusula COLLATE después de cada   nombre de la columna define una compaginación   secuencia utilizada para las entradas de texto en que   columna. El orden de clasificación predeterminado   se define el orden de clasificación para   que columna de la tabla CREATE   declaración. O si no hay un orden de clasificación   se defina de otra manera, el built-in   se utiliza secuencia de clasificación binario.

¿Qué hace un orden de clasificación, y lo que es un orden de clasificación BINARIO?

¿Fue útil?

Solución

Es la forma en que los datos de SQL pedidos de motores internos. Intercalación binaria hace lo que indica, se hace una comparación binaria. Generalmente su la intercalación más rápida aunque nunca he cuantificado, como se comprueba patrones de bits, que significa que es el caso y el acento insensible.

Otros consejos

colación binaria compara su cadena de bytes a byte, como en una tabla Unicode. Por ejemplo: A, B, a, b. Una orden sensible caso sería:. A, A, b, B

La ventaja de intercalación binaria es su velocidad, como la comparación de cadenas es muy simple / rápido. En caso general, los índices con binaria puede que no producen los resultados esperados para la especie, sin embargo, para coincidencias exactas que pueden ser útiles.

INTERCALAR NOCASE también afecta a las consultas entre mayúsculas y minúsculas.

Si usted tiene una columna con estos valores: 'AA', 'AA'

select * from table where col = 'aa'

Si ha creado su columna con INTERCALAR NOCASE volverá tanto 'AA' y 'AA'. De lo contrario, si no se especifica, se devolverá solo 'AA'.

También puede especificar en una sentencia (esto es más lento que si hubiera creado su columna con INTERCALAR NOCASE)

select * from table where col = 'aa' COLLATE NOCASE
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top