"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como consultar o valor de uma coluna XML no SQL Server?

Como consultar o valor de uma coluna XML no SQL Server?

Postado em 2025-04-19
Navegar:733

How to Query Values within XML Columns in SQL Server?

acessando dados nas colunas XML do SQL Server

O SQL Server permite armazenar dados XML em colunas definidas como tipos de dados XML. A recuperação de dados específicos dessas colunas requer consultas especializadas.

Digamos que você tenha uma coluna XML chamada "Papunos" com esta estrutura:

AlphaBetaGamma

para encontrar linhas contendo um papel específico, use esta consulta:

SELECT
  Roles
FROM
  MyTable
WHERE
  Roles.value('(/root/role)[1]', 'varchar(max)') LIKE 'StringToSearchFor'

isso usa ROLS.VALUE para extrair o primeiro valor RUPE elemento, convertendo -o em varchar (max) . Isso permite a busca de papéis específicos.

Se sua coluna ainda não é um tipo de dados XML, use cast para convertê -lo antes de consultar.

A consulta também pode segmentar atributos XML. Por exemplo, com este XML na coluna "Data":

...

SELECLE [dados] DE [DBO]. [CodesystemCodes_data] ONDE Cast ([Data] como xml) .Value ('(/utilitários.codesystems.codesystemcodes/@codesystem) [1],' varchar (max) ') =' 2 '

SELECT
  [data]
FROM
  [dbo].[CodeSystemCodes_data]
WHERE
  CAST([data] AS XML).value('(/Utilities.CodeSystems.CodeSystemCodes/@CodeSystem)[1]', 'varchar(max)') = '2'

Consultando os campos XML usando t-sql

SELECT * DE ( Selecione pref.value ('(text ()) [1]', 'varchar (32)') como rolename DE MyTable Cross Apply ROUNS.NODES ('/raiz/função') como funções (pref) ) Como resultado ONDE Rolename como '%ga%'

 Essa abordagem permite extração mais eficiente e direcionada de dados das colunas XML no SQL Server. 
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3