2016-05-09 1 views
1

J'ai cette requête comme ceci:SQL pour le numéro XML Path

SELECT JOB_NUMBER AS 'Key' FROM table FOR XML PATH(''), Type 

qui retourne:

<Key>ORC0023</Key><Key>ORC0045</Key> 

Ce que je suis en train de faire est de retourner comme ceci:

<ORC0023></ORC0023><ORC0045></ORC0045> 

Comment est-ce que je ferais ceci?

+0

Qu'est-ce que vous essayez vraiment d'atteindre? Il n'y a aucun moyen direct de modifier le nom d'une colonne. Cela signifie que vous n'avez aucun moyen direct de définir dynamiquement un nom d'élément. Vous pouvez utiliser SQL dynamique et créer une instruction et l'appeler avec 'EXEC', mais s'il vous plaît - car je pense qu'il y a quelque chose de mal dans la conception - expliquer ce que vous voulez vraiment ... – Shnugo

Répondre

0

Depuis votre sortie aura des caractères spéciaux < > dont vous aurez besoin pour retourner le résultat au format XML par specifing type et utiliser xquery pour l'extraire comme une chaîne

declare @t table (job_number varchar(10)) 
insert into @t 
select 'ORC0023' union all 
select 'ORC0024' 

select 
(
    select '<' + job_number + '></' + job_number + '>' 
    from @t 
    for xml path(''), type 
).value('/', 'varchar(max)')