Necesito una consulta SQL para hacer todos los datos en una columna EN MAYÚSCULAS?
¿Algunas ideas?
Respuestas:
Si solo desea actualizar las filas que actualmente no están en mayúsculas (en lugar de todas las filas), deberá identificar la diferencia usando COLLATE
así:
UPDATE MyTable
SET MyColumn = UPPER(MyColumn)
WHERE MyColumn != UPPER(MyColumn) COLLATE Latin1_General_CS_AS
La distinción entre mayúsculas y minúsculas se basa en la configuración de clasificación y, por lo general, no distingue entre mayúsculas y minúsculas de forma predeterminada.
La intercalación se puede establecer en el nivel de servidor, base de datos, columna o consulta :
-- Server
SELECT SERVERPROPERTY('COLLATION')
-- Database
SELECT name, collation_name FROM sys.databases
-- Column
SELECT COLUMN_NAME, COLLATION_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE CHARACTER_SET_NAME IS NOT NULL
Los nombres de intercalación especifican cómo se debe codificar y leer una cadena, por ejemplo:
Latin1_General_CI_AS
→ Insensible a mayúsculas y minúsculasLatin1_General_CS_AS
→ Sensible a mayúsculas y minúsculas