Como extrair apenas os valores que estão entre aspas no mesmo campo depois gravá-los em outra tabela separados por cada campo

Ruy Guerra 1 Reputation point
2021-02-05T00:43:01.127+00:00

Boa tarde, Pessoal"

Por favor, preciso de uma ajuda, em uma tabela do nosso BD tempos um campo que possui o registro com as informações do paciente concatenado com uma serie de valores que não precisamos.

Como eu faço, para montar uma select para extrair desse registro apenas o que está entre aspas?

O meu registro está assim:

a:28:{i:18;s:13:"Sérgio silva";i:19;s:11:"1199900001";i:20;s:0:"n/i";i:21;s:0:"n/i";i:23;s:15:"Amil One Health";i:24;s:0:"n/i";i:27;s:0:"n/i";i:31;s:1:"2";i:32;s:0:"n/i";i:33;s:1:"2";i:34;s:0:;}

Eu preciso dele assim:

"Sérgio silva";"1199900001";"n/i";"n/i";"Amil One Health";"n/i";"n/i";"2";"n/i";"2";

Observação, esses monte de valores a:28: ...etc... eles mudam, não são valores fixos, se fossem até usaria o replace, mas são vários valores.

Depois que eu chegar nessa mineração: "Sérgio silva";"1199900001";"n/i";"n/i";"Amil One Health";"n/i";"n/i";"2";"n/i";"2";

Como eu faço para alocar cada valor em campo campo qualquer, pode ser uma tabela temporária, tipo assim:

|nome |campo 1 |Campo 2 |Campo 3 |Campo 4 |Campo 5 | .....

|Sérgio silva|1199900001|n/i |n/i |Amil One Health|n/i |n/i|2|n/i|2| .....

Muito obrigado amigos

Transact-SQL
Transact-SQL
A Microsoft extension to the ANSI SQL language that includes procedural programming, local variables, and various support functions.
4,566 questions
{count} votes

1 answer

Sort by: Most helpful
  1. EchoLiu-MSFT 14,571 Reputation points
    2021-02-05T03:12:52.2+00:00

    Hi @Ruy Guerra ,

    Welcome to the Microsoft TSQL Q&A Forum!

    Sorry, the common language of the Q&A forum is English. I am not good at Portuguese. Could you describe your problem in English?

    In addition, the format of the sample data you posted is vague, is it the following form?

    a:28:{i:18;   
    s:13:“ Serrgio silva”;   
    i:19;   
    s:11:“ 1199900001”;   
    i:20;   
    s:0:“ n / i”;   
    i:21;   
    s: 0:“ n / i”;   
    i:23;   
    s:15:“ Amil One Health”;  
    i:24;   
    s:0:“ n / i”;   
    i:27;   
    s:0:“ n / i”;   
    i:31;   
    s:1:“ 2”;   
    i:32;   
    s:0:“ n / i”;   
    i:33;   
    s:1:“ 2”;   
    i:34;   
    s:0 :;}  
    

    Please help to confirm, it is best to provide data in excel format and the output you expect.

    Regards
    Echo


    If the answer is helpful, please click "Accept Answer" and upvote it.
    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.

    Regards
    Echo

    0 comments No comments