none
Pesquisar dentro de uma coluna RRS feed

  • Pergunta

  • Bom dia Srs. 

    Estou precisando realizar a seguinte pesquisa em uma coluna onde as informações são gravadas aleatoriamente dependendo do tipo de rotina que a está gerando.

    Por exemplo a Coluna 1, gravou as informações assim:

    Coluna 1

    ------------------------------------------------------------------------

    MOD: 3458 -ID_USER: 3456 - PAT:9848476290 - ORDER 85733
    ID_USER: 3454 - PAT:9845362290 - ORDER 78387
    FUTXTND: 74646 -ID_USER: 3458 - PAT:9843787580 - ORDER 85755
    ANALISE: 88765 -ID_USER: 6574 - PAT:9843789290 - ORDER 85333

    O que estou precisando é que no select eu traga informações a partir da informação ID_USER, conforme abaixo.

    Do exemplo mostrado o mesmo ficaria assim:

    ID_USER: 3456 - PAT:9848476290 - ORDER 85733
    ID_USER: 3454 - PAT:9845362290 - ORDER 78387
    ID_USER: 3458 - PAT:9843787580 - ORDER 85755
    ID_USER: 6574 - PAT:9843789290 - ORDER 85333

    É possível realizar tal procedimento?

    Obrigado Agradeço desde já!


    --- André Abreu

    quarta-feira, 14 de fevereiro de 2018 11:39

Respostas

  • Bom dia,

    Experimente fazer uns testes mais ou menos dessa forma:

    select
        case when CHARINDEX('ID_USER', Coluna1) > 0 then
            RIGHT(Coluna1, LEN(Coluna1) - CHARINDEX('ID_USER', Coluna1) + 1)
        end
    from Tabela

    Espero que ajude


    Assinatura: http://www.imoveisemexposicao.com.br

    • Marcado como Resposta André Abreu quarta-feira, 14 de fevereiro de 2018 12:36
    quarta-feira, 14 de fevereiro de 2018 11:53
  • Olá André Abreu

    Você pode usar o SUBSTRING e CHARINDEX pra resolver isso, da seguinte forma:

    select  SUBSTRING(SeuCampo, charindex('ID_USER:',SeuCampo), LEN(SeuCampo)) from SuaTabela

    Abraços!

     

    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    Rafael Almeida
    Microsoft Developer .NET
    Microsoft Certified Professional
    Development Leader at JAMSOFT Informática
    Email: ralms@ralms.net
    Blog -  GitHub  -  LinkedIn -  Twitter

    • Marcado como Resposta André Abreu quarta-feira, 14 de fevereiro de 2018 12:37
    quarta-feira, 14 de fevereiro de 2018 12:01
  • Bom dia,

    Experimente fazer uns testes mais ou menos dessa forma:

    select
        case when CHARINDEX('ID_USER', Coluna1) > 0 then
            RIGHT(Coluna1, LEN(Coluna1) - CHARINDEX('ID_USER', Coluna1) + 1)
        end
    from Tabela

    Espero que ajude


    Assinatura: http://www.imoveisemexposicao.com.br

    Gapimex,

    Seguindo esta mesma linha de raciocínio seu, podemos também utilizar a função SubString:

    select
        case when CHARINDEX('ID_USER', Coluna1) > 0 then
            SubString(Coluna1, CHARINDEX('ID_USER', Coluna1) + 1, LEN(Coluna1) - CHARINDEX('ID_USER', Coluna1))
        end
    from Tabela


    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    • Marcado como Resposta André Abreu quarta-feira, 14 de fevereiro de 2018 12:40
    quarta-feira, 14 de fevereiro de 2018 12:02

Todas as Respostas

  • Bom dia,

    Experimente fazer uns testes mais ou menos dessa forma:

    select
        case when CHARINDEX('ID_USER', Coluna1) > 0 then
            RIGHT(Coluna1, LEN(Coluna1) - CHARINDEX('ID_USER', Coluna1) + 1)
        end
    from Tabela

    Espero que ajude


    Assinatura: http://www.imoveisemexposicao.com.br

    • Marcado como Resposta André Abreu quarta-feira, 14 de fevereiro de 2018 12:36
    quarta-feira, 14 de fevereiro de 2018 11:53
  • Olá André Abreu

    Você pode usar o SUBSTRING e CHARINDEX pra resolver isso, da seguinte forma:

    select  SUBSTRING(SeuCampo, charindex('ID_USER:',SeuCampo), LEN(SeuCampo)) from SuaTabela

    Abraços!

     

    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    Rafael Almeida
    Microsoft Developer .NET
    Microsoft Certified Professional
    Development Leader at JAMSOFT Informática
    Email: ralms@ralms.net
    Blog -  GitHub  -  LinkedIn -  Twitter

    • Marcado como Resposta André Abreu quarta-feira, 14 de fevereiro de 2018 12:37
    quarta-feira, 14 de fevereiro de 2018 12:01
  • Bom dia,

    Experimente fazer uns testes mais ou menos dessa forma:

    select
        case when CHARINDEX('ID_USER', Coluna1) > 0 then
            RIGHT(Coluna1, LEN(Coluna1) - CHARINDEX('ID_USER', Coluna1) + 1)
        end
    from Tabela

    Espero que ajude


    Assinatura: http://www.imoveisemexposicao.com.br

    Gapimex,

    Seguindo esta mesma linha de raciocínio seu, podemos também utilizar a função SubString:

    select
        case when CHARINDEX('ID_USER', Coluna1) > 0 then
            SubString(Coluna1, CHARINDEX('ID_USER', Coluna1) + 1, LEN(Coluna1) - CHARINDEX('ID_USER', Coluna1))
        end
    from Tabela


    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    • Marcado como Resposta André Abreu quarta-feira, 14 de fevereiro de 2018 12:40
    quarta-feira, 14 de fevereiro de 2018 12:02
  • Obrigado Gapimex, isso mesmo. 

    Valeu pelo Apoio!


    --- André Abreu

    quarta-feira, 14 de fevereiro de 2018 12:39