jueves, 3 de marzo de 2011

Validación de campos XML vacíos en SqlServer 2008

 

Saludos a todos, el día de hoy después de mucho agregare una entrada al blog, por más que me prometo a mi mismo que escribiré, bueno pues termino sin hacerlo.

En fin, entrando en materia muchas veces necesitamos validar que un campo de tipo XML en SqlServer 2008 contenga o no un valor, y en muchas más ocasiones XPATH no nos funciona o no queremos ocuparlo, bueno pues para estos casos la solución encontrada es la siguiente:


select top(500) xml_arch, * from crm.sis_arch with(nolock) where cast(xml_arch as varchar(max))=''

select top(500) xml_arch, * from crm.sis_arch with(nolock) where cast(xml_arch as varchar(max))<>''

Como verán es una solución muy sencilla pero funcional, además nos permite lógicamente realizar cualquier tipo de comparación o búsqueda en la cadena del XML, se que esta no es la forma natural de hacerlo en este tipo de campos pero seguro que se toparan con casos donde lo apliquen, como en el mío.

Como siempre espero que les sea de utilidad…

Best regards And Happy coding.

karlozarba