2016-10-17 1 views
0

Sélectionner toutes les données de la colonne comme supérieureSélectionner toutes les données de la colonne comme supérieure

au moment que je utilise upper(columnname) as 'xyz' par ce que je suis perdre nom de col que je ne veux pas

et mon exigence est select col1,col2,col3,col4 from xyz table

je suis à la recherche d'une méthode qui peut faire tous les 4 à col haut dans la syntaxe simple, sans perdre le nom de col

e g: select Upper(col1,col2,col3,col4) from xyz table

+2

utilisez 'select upper (colname) comme nom de col – yvs

+0

' upper (nom_colonne) comme 'xyz'' n'est pas valide (standard) SQL. Les identifiants doivent être placés entre guillemets doubles ('as" xyz "'). Les guillemets simples ('' ') sont uniquement pour les constantes de chaîne. –

+0

ma requête fonctionne bien mais j'ai 20 noms de colonnes donc dans ce cas je dois écrire 20 fois supérieur et donner un nom d'alias – Aamir

Répondre

0

Essayez cette

DECLARE @columnName varchar(25) 
DECLARE @cursor CURSOR 
declare @sql nvarchar(1000) 
declare @tableName as nvarchar(30) 
set @tableName = 'YOURTABLE' 
SET @cursor = CURSOR FOR 
select c.name from sys.columns c inner join sys.tables t on c.object_id = t.object_id 
where c.object_id = (select object_id from sys.tables where name = @tableName) 


OPEN @cursor 

FETCH NEXT 

FROM @cursor INTO @columnName 
WHILE @@FETCH_STATUS = 0 
BEGIN 


set @sql = 'update YOURTABLE set '+ @columnName +' = upper(' + @columnName + ') where YOURTABLE.'[email protected]+' = YOURTABLE.'+ @columnName+'' 
EXEC(@sql) 


FETCH NEXT 
FROM @cursor INTO @columnName 
END 

CLOSE @cursor 
DEALLOCATE @cursor 

MISE À JOUR: Vous devez mettre à jour toutes vos colonnes afin que tous seront transformés en majuscules

Prenez note: S'IL VOUS PLAÎT BACKUP VOTRE TABLE AVANT PROCEDER changement yourtable dans votre nom de la table

+0

Si c'est la solution, s'il vous plaît marquer comme la réponse, merci! –

-1

Essayez ceci:

select UPPER(col1) AS Col1,UPPER(col2) AS col2,UPPER(col3) as 
    col3,UPPER(col4) as col4 from xyz table