¿Cómo determino la intercalación de una base de datos en SQL 2005?

¿Cómo determino la intercalación de una base de datos en SQL 2005?

¿Cómo se determina la clasificación de una base de datos en SQL 2005, por ejemplo, si necesita realizar una búsqueda / reemplazo que no distingue entre mayúsculas y minúsculas?

Mostrar la mejor respuesta

El uso del siguiente SQL determina la intercalación de una base de datos:

SELECT DATABASEPROPERTYEX('{database name}', 'Collation') SQLCollation;
 

Recuerde que las columnas individuales pueden anular la intercalación de la base de datos:

SELECT TABLE_NAME, COLUMN_NAME, COLLATION_NAME
FROM INFORMATION_SCHEMA.COLUMNS
 

Si desea realizar una búsqueda que no distingue entre mayúsculas y minúsculas y no puede confiar en la intercalación de la base de datos, siempre puede solicitarla específicamente para la consulta que le interesa. Por ejemplo:

SELECT TOP 1 FName, *
FROM People
WHERE FName LIKE '%mich%' COLLATE Latin1_General_CI_AI
 

Normalmente tengo el problema opuesto, donde quiero la distinción entre mayúsculas y minúsculas pero no la tengo en la intercalación de la base de datos, así que me encuentro usando bastante la intercalación Latin1_General_BIN en mis consultas. Si aún no lo sabe, puede hacer:

SELECT 
FROM ::fn_helpcollations()
 

para obtener una lista de las intercalaciones disponibles y descripciones de para qué sirven.

Avatar BMG

Seleccione la base de datos y ejecute el siguiente comando.

sp_helpsort