upper una tablas primera practicas objetos nombres nombre nombramiento minusculas mejores mayusculas mayuscula letra estándar estandares ejemplo diferenciar datos convencion bases sql-server

sql-server - una - primera letra mayuscula sql server



¿Cómo cambio SQL Server 2005 para que distinga entre mayúsculas y minúsculas? (4)

En realidad, no necesita cambiar la intercalación en toda la base de datos, si la declara en la tabla o en las columnas que deben distinguir entre mayúsculas y minúsculas. De hecho, puede anexarlo a operaciones individuales según sea necesario.

SELECT name WHERE ''greg'' = name COLLATE Latin1_GENERAL_CS_AS

Lo sé, dijiste que quieres que esto se aplique en toda la base de datos. Pero menciono esto porque en ciertos entornos alojados, no puede controlar esta propiedad, que se establece cuando se crea la base de datos.

Odio la distinción entre mayúsculas y minúsculas en las bases de datos, pero la estoy desarrollando para un cliente que la usa. ¿Cómo puedo activar esta opción en mi SQL Server, así puedo estar seguro de haber acertado con el caso en todas mis consultas?


Qué tal si:

ALTER DATABASE database_name COLLATE collation_name

Consulte BOL para obtener una lista de opciones de intercalación y elija la que mejor se ajuste a sus necesidades (es decir, la que usa su cliente).
Obviamente, probablemente sea una buena idea hacer una copia de seguridad completa de su base de datos antes de intentar esto. Nunca he intentado utilizar una base de datos con una intercalación diferente a la intercalación predeterminada del servidor, así que no sé de ningún "truco". Pero si tiene buenas copias de seguridad y las prueba en su entorno antes de implementarlas en su cliente, no puedo imaginar que haya mucho riesgo involucrado.


Tendrá que cambiar la intercalación de la base de datos. También deberá modificar la clasificación de tabla y columna. Creo que puedes encontrar un script allí si lo googleas.


Si tiene una base de datos que tiene una intercalación diferente a la predeterminada de la instancia, puede tener problemas cuando intente unir sus tablas con las temporales. Las tablas temporales tienen una intercalación de la instancia (porque son objetos del sistema) por lo que debe usar la cláusula COLLATE database_default en sus combinaciones.

select temp.A, table.B from #TEMPORARY_TABLE temp inner join table on temp.X COLLATE database_default = table.Y

Esto obliga a la intercalación de temp.X (en este ejemplo) a la intercalación de la base de datos actual.