Je veux exécuter une requête avec concaténation de deux colonnes, j'ai donc fait ceci:

Select 
    Id, PtName + ' ('+Investigation+')' as PtName, Y, M, D, PtCode 
From 
    DiagMain

Mais lorsque j'essaie de paramétrer cette requête, cela ne fonctionne pas.

Comme ça:

declare @Query nvarchar(MAX)

set @Query = 'Select Id, PtName + ''( +''Investigation''+ )'' as PtName, Y, M, D, Sex, PtCode FROM DiagMain'
Exec(@Query)

Qu'est-ce que je fais mal ici?

2
Shaiwal Tripathi 17 août 2017 à 11:16

2 réponses

Si vous devez exécuter la requête ci-dessus, remplacez votre Exec(@Query) par exec sp_executesql @Query car pour exécuter une requête dynamique, vous devez appeler la procédure intégrée sql. Donc, la requête que vous devez exécuter serait la suivante

declare @Query nvarchar(MAX)    
set @Query = 'Select Id, PtName + ''( +''Investigation''+ )'' as PtName, Y, M, D, Sex, PtCode FROM DiagMain'
exec sp_executesql @Query

Codage heureux :-)

0
RaviKant Hudda 13 sept. 2017 à 07:16
DECLARE @Query NVARCHAR(MAX)
SET @Query ='Select  Id, PtName  + '' (''+Investigation+'')'' as PtName, Y, M, D, Sex, PtCode FROM DiagMain'
PRINT @Query
Exec(@Query)
1
Alfaiz Ahmed 17 août 2017 à 08:34