2015-10-25 2 views
1

J'ai une table avec les colonnes A, B, C, D (type de varchar).comment ajouter un trait d'union dans la requête SQL dynamique

À partir d'une procédure stockée, j'obtiens des données de la même table. Je crée une requête sql dynamique dans la procédure stockée pour extraire des données de la table.

ce que je veux est que,

nécessité de combiner la colonne B et C, ainsi que d'un symbole (trait d'union ou deux points) et l'afficher comme une seule section.

DECLARE @sSQL nvarchar(100); 
DECLARE @symbol nvarchar(100); 
SET @symbol='-' 
SELECT @sSQL = N'SELECT [A], ([B], '[email protected]+', [C]) as Status FROM Table'; 
EXEC sp_executesql @sSQL 

ci-dessus requête ne fonctionne pas pour me.I besoin suivant la requête comme une requête dynamique.

SELECT A,B+'-'+C as Status FROM Table 

Aidez-nous s'il vous plaît.

Répondre

1

Vous avez besoin de virgules. Voici la syntaxe correcte:

SELECT @sSQL = N'SELECT [A], ([B] + '''[email protected]+''' + [C]) as Status FROM Table'; 
+0

Msg 102, niveau 15, état 1, ligne 1 syntaxe incorrecte près de ':'. cela ne fonctionne pas – Athul

+0

SET @ symbol = ':' j'ai utilisé ceci – Athul

+0

Vérifiez à nouveau la réponse – cha