update - upper sql ejemplo
Consulta SQL para hacer todos los datos en una columna UPPER CASE? (2)
Necesito una consulta SQL para hacer todos los datos en una columna ¿CASO SUPERIOR?
¿Algunas ideas?
Permanente:
UPDATE
MyTable
SET
MyColumn = UPPER(MyColumn)
Temporal:
SELECT
UPPER(MyColumn) AS MyColumn
FROM
MyTable
Si desea actualizar solo en las filas que actualmente no están en mayúsculas (en lugar de todas las filas), deberá identificar la diferencia mediante COLLATE
esta forma:
UPDATE MyTable
SET MyColumn = UPPER(MyColumn)
WHERE MyColumn != UPPER(MyColumn) COLLATE Latin1_General_CS_AS
Un poco sobre la colación
La sensibilidad de los casos se basa en la configuración de intercalación y, por lo general, no distingue entre mayúsculas y minúsculas.
La intercalación se puede establecer en el servidor, la base de datos, la columna o el nivel de 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 clasificación especifican cómo se debe codificar y leer una cadena, por ejemplo:
-
Latin1_General_ CI _AS
→Latin1_General_ CI _AS
yLatin1_General_ CI _AS
-
Latin1_General_ CS _AS
→ Sensible aLatin1_General_ CS _AS
yLatin1_General_ CS _AS