Tenho um Campo XML no seguinte formato:
<preferencia>
<dsPreferencia>IGOR Teste</dsPreferencia>
<coberturas>
<codigocobertura>20001</codigocobertura>
<descontocobertura>30,00</descontocobertura>
</coberturas>
<coberturas>
<codigocobertura>20101</codigocobertura>
<importanciasegurada>11,00</importanciasegurada>
<descontocobertura>30,00</descontocobertura>
</coberturas>
<coberturas>
<codigocobertura>20108</codigocobertura>
<importanciasegurada>5001,00</importanciasegurada>
<descontocobertura>30,00</descontocobertura>
</coberturas>
<coberturas>
<codigocobertura>20011</codigocobertura>
<importanciasegurada>4,00</importanciasegurada>
<descontocobertura>0,00</descontocobertura>
</coberturas>
<coberturas>
<codigocobertura>20012</codigocobertura>
<importanciasegurada>4,00</importanciasegurada>
<descontocobertura>0,00</descontocobertura>
</coberturas>
------------------------------------------------------------
SELECT
ID,DS_XML
,NM_PREFERENCIA
,DS_XML.value('(/preferencia/coberturas/codigocobertura)[1]', 'NVARCHAR(20)')
,DS_XML.value('(/preferencia/coberturas/importanciasegurada)[1]', 'NVARCHAR(20)')
FROM TB_PREFERENCIA
where
NM_PREFERENCIA = 'IGOR Teste'
---------------
Como faço para verificar se existe a tag:
Exemplo:
<coberturas>
<codigocobertura>20001</codigocobertura>
<descontocobertura>30,00</descontocobertura>
</coberturas>
<coberturas>
<codigocobertura>20101</codigocobertura>
<importanciasegurada>11,00</importanciasegurada>
<descontocobertura>30,00</descontocobertura>
</coberturas>
A cobertura 20001 não tem a TAG importanciasegurada, mas a cobertura 20101 tem. Como verifico isso via SQL Server.