Requête SQL pour rendre toutes les données dans une colonne UPPER CASE?

J’ai besoin d’une requête SQL pour rendre toutes les données dans une colonne UPPER CASE?

Des idées?

Permanent:

UPDATE MyTable SET MyColumn = UPPER(MyColumn) 

Temporaire:

 SELECT UPPER(MyColumn) AS MyColumn FROM MyTable 

Si vous souhaitez mettre à jour uniquement les lignes qui ne sont pas en majuscule (au lieu de toutes les lignes), vous devez identifier la différence en utilisant COLLATE comme ceci:

 UPDATE MyTable SET MyColumn = UPPER(MyColumn) WHERE MyColumn != UPPER(MyColumn) COLLATE Latin1_General_CS_AS 

Un peu sur le classement

La sensibilité aux requêtes est basée sur vos parameters de classement et est généralement insensible à la casse par défaut.

Le classement peut être défini sur le serveur, la firebase database, la colonne ou le niveau de requête :

 -- 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 

Les noms de classement spécifient comment une chaîne doit être codée et lue, par exemple:

  • Latin1_General_ CI _AS → Insensible à la casse
  • Latin1_General_ CS _AS → Sensible à la casse