Jika saya mengerti apa yang Anda katakan, maka jika Col1
berisi string "SUP", Anda ingin tag ini dalam XML akhir Anda:
<ss:Data ss:Type="String">SomethingContainingSup</ss:Data>
Jika tidak, Anda menginginkan ekspresi ini:
<Data ss:Type="String">SomethingElse</Data>
Saya pikir Anda bisa mendapatkannya dengan fragmen SQL ini:
SELECT CASE WHEN COL1 LIKE '%SUP%' THEN 'String' END as [Cell/ss:Data/@ss:Type],
CASE WHEN Col1 Like '%SUP%' THEN Col1 END as [Cell/ss:Data],
CASE WHEN COL1 NOT LIKE '%SUP%' THEN 'String' END as [Cell/Data/@ss:Type],
CASE WHEN Col1 NOT Like '%SUP%' THEN Col1 END as [Cell/Data],
''
Mengapa milik Anda tidak berfungsi:Anda tidak dapat membuat nama kolom (atau elemen XML) bersyarat. Yang paling dekat yang bisa Anda dapatkan adalah membuat satu atau ekspresi lain mengevaluasi ke nol, dalam hal ini tidak akan dirender dalam XML akhir.