2017-03-28 2 views
2

J'ai actuellement l'instruction SQL suivante:Ajouter des guillemets simples aux résultats dans une colonne d'une requête SQL

SELECT opportunities.ref FROM opportunities GROUP BY opportunities.ref 

qui renvoie les résultats suivants:

OP10 
OP252 
OP52905 
OP42 

Je suis en train de réaliser ce qui suit :

'OP10' 
'OP252' 
'OP52905' 
'OP42' 

J'ai essayé ce qui suit:

SELECT opportunities.ref FROM opportunities 
CASE WHEN opportunities.ref IS NOT NULL THEN "'"+opportunitiesref+"'" 
GROUP BY opportunities.ref 

mais cela ne fonctionne pas.

Je ne souhaite pas mettre à jour la colonne ou utiliser les fonctions @declare comme cela. J'utilise actuellement SQL Server 2008. Je ne sais pas comment s'y prendre. Aidez-moi?

+1

que diriez-vous? select concat ("'", opportunities.ref, "'") ... – Shiping

+0

ANSI SQL: '... '' '' || opportunities.ref || '' '' ... ''. – jarlh

Répondre

4

Si vous utilisez SQL Server puis modifiez votre requête selon ci-dessous:..

SELECT opportunities.ref FROM opportunities 
CASE WHEN opportunities.ref IS NOT NULL THEN ''''+opportunitiesref+'''' 
GROUP BY opportunities.ref 
0

Avez-vous essayé d'utiliser cette séquence d'échappement \ » Habituellement, nous faisons cela pour échapper à quotes.In indésirables votre cas cela fonctionne bien

0

Je ne me souviens jamais de la séquence d'échappement alors je tendance à utiliser le code ascii

declare @opportunities table (ref varchar(10)) 
insert into @opportunities values 
('op10'),('op10'),('op10'), 
('op20'),('op254') 

SELECT 
CASE WHEN ref IS NOT NULL THEN concat(char(39),ref,char(39)) 
else ref 
end ref 
FROM @opportunities 
GROUP BY ref 
0

Essayez cette

SELECT CASE WHEN opportunities.ref IS NOT NULL THEN ''''+CAST(opportunities.ref as varchar)+'''' END as 'ColumnName' FROM opportunities GROUP BY opportunities.ref 
3

Si vous utilisez SQL SERVER, reportez-vous aux requêtes ci-dessous. ça va marcher.

1)

SELECT opportunities.ref,concat('''',opportunities.ref,'''') 
FROM opportunities 
GROUP BY opportunities.ref 

2)

SELECT opportunities.ref, 
CASE WHEN opportunities.ref IS NOT NULL THEN ''''+opportunities.ref+'''' END 
FROM opportunities 
GROUP BY opportunities.ref