আমার এর মতো একটি এক্সএমএল মান রয়েছে:
<R>
<I>A</I>
<I>B</I>
<I>C</I>
...
</R>
আমি সব কনক্যাটেনেট করতে চান I
মান এবং তাদের একটি একক স্ট্রিং হিসেবে ফিরে ABC...
।
এখন আমি জানি যে আমি এক্সএমএল ছড়িয়ে দিতে পারি, ফলাফলগুলি নোডলেস এক্সএমএল হিসাবে আবার সংগ্রহ করতে পারি, এবং ফলাফলটিতে প্রয়োগ .values('text()[1]', ...)
করতে পারি:
SELECT
(
SELECT
n.n.value('text()[1]', 'varchar(50)') AS [text()]
FROM
@MyXml.nodes('/R/I') AS n (n)
FOR XML
PATH (''),
TYPE
).value('text()[1]', 'varchar(50)')
;
তবে, আমি কেবলমাত্র এক্সপথ / এক্সকিউয়ের পদ্ধতিগুলি ব্যবহার করে যা করতে চাই তা এই জাতীয় কিছু:
SELECT @MyXml. ? ( ? );
এরকম উপায় আছে কি?
আমি এই দিকটিতে সমাধানের সন্ধান করার কারণটি হ'ল আমার আসল এক্সএমএলে অন্যান্য উপাদানগুলিও রয়েছে, উদাহরণস্বরূপ:
<R>
<I>A</I>
<I>B</I>
<I>C</I>
...
<J>X</J>
<J>Y</J>
<J>Z</J>
...
</R>
এবং আমি প্রতিটি একের জন্য অযৌক্তিক স্ক্রিপ্ট ব্যবহার না করেই একটি একক স্ট্রিং হিসাবে মান I
এবং একক স্ট্রিং হিসাবে মান উভয়ই বের করতে সক্ষম হতে চাই J
।