Ако разбирам какво казвате, тогава ако Col1
съдържа низа "SUP", искате този етикет във вашия окончателен XML:
<ss:Data ss:Type="String">SomethingContainingSup</ss:Data>
В противен случай искате този израз:
<Data ss:Type="String">SomethingElse</Data>
Мисля, че можете да го получите с този SQL фрагмент:
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],
''
Защо вашият не работи:не можете да направите името на колона (или на XML елемент) условно. Най-близкото, което можете да получите, е да накарате един или друг израз да се изчисли като null, в който случай няма да бъде изобразен в крайния XML.