1|hola|mexico|que tal
Estos valores se encuentran en un solo campo, pero deseamos que solo uno de ellos aparezca en la consulta por ejemplo
mexico
¿Cómo lo hacemos?
1. Para poder manipular el dato de manera eficiente, podemos convertirlo a un campo de tipo XML
cast(('<X>'+replace(SalidaSeparada,'|' ,'</X><X>')+'</X>') as xml)
este paso reemplaza el separador y convierte el campo en un campo de XML
2. Ejecutemos esta consulta dentro de otra para poder manipularla como un capo tipo XML
select
salida.value('(./X)[15]', 'nvarchar(max)') as Salida from (
select cast(('<X>'+replace(SalidaSeparada,'|' ,'</X><X>')+'</X>') as xml) as salida
from [tabla] with(nolock) ) as tabla
3. La siguiente función nos permite obtener el campo que se encuentra en una posición especifica
salida.value('(./X)[15]', 'nvarchar(max)')
felices lineas