none
Função LIKE para duas partes de texto diferente RRS feed

  • Pergunta

  • Olá, bom dia!

    Por favor, Alguem podeia me ajudar informando como eu poderia usar a função LIKE para extrair duas diferentes partes de texto?

    Usei desta forma no exemplo abaixo, mas como tem outras confições como por exemplo pesquisar nestes 3 códigos ele busca outros códigos que também estão como CANCELADO e não apenas os 3 códigos que gostaria de analisar.

    Exemplo:

    where  trim(cmmcu) in ('3100011') 

    and cmlitm IN ('F228117', 'F214855', 'F350891')

    and imdsc1 LIKE '%cancelado%' or imdsc1 LIKE '%CANCELADO%'

    quarta-feira, 15 de abril de 2020 14:00

Respostas

  • Bom dia,

    Experimente utilizar parênteses para delimitar as condições para verificar se está cancelado:

    where  
        trim(cmmcu) in ('3100011') and 
        cmlitm IN ('F228117', 'F214855', 'F350891') and 
        (imdsc1 LIKE '%cancelado%' or imdsc1 LIKE '%CANCELADO%')

    Espero que ajude


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

    • Marcado como Resposta FlavioPrates quarta-feira, 15 de abril de 2020 16:33
    quarta-feira, 15 de abril de 2020 14:58

Todas as Respostas

  • Bom dia,

    Experimente utilizar parênteses para delimitar as condições para verificar se está cancelado:

    where  
        trim(cmmcu) in ('3100011') and 
        cmlitm IN ('F228117', 'F214855', 'F350891') and 
        (imdsc1 LIKE '%cancelado%' or imdsc1 LIKE '%CANCELADO%')

    Espero que ajude


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

    • Marcado como Resposta FlavioPrates quarta-feira, 15 de abril de 2020 16:33
    quarta-feira, 15 de abril de 2020 14:58
  • Muito Obrigado pela ajuda.

    Só troquei o "OR" pelo "AND" e funcionou perfeitamente.

    (imdsc1 LIKE '%cancelado%' AND imdsc1 LIKE '%CANCELADO%')

    quarta-feira, 15 de abril de 2020 16:37
  • Que bom que funcionou. Só um detalhe... acredito que o seu banco de dados está configurado com um collate que não diferencia maiúsculas e minúsculas se funcionou com and no lugar do or. Se for esse o caso mesmo, você pode deixar só uma das condições, não é necessário deixar as 2.


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

    quarta-feira, 15 de abril de 2020 17:52
  • Que bom que funcionou. Só um detalhe... acredito que o seu banco de dados está configurado com um collate que não diferencia maiúsculas e minúsculas se funcionou com and no lugar do or. Se for esse o caso mesmo, você pode deixar só uma das condições, não é necessário deixar as 2.


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

    Flavio,

    Pegando o gancho da observação do Gapimex, qual é a versão do SQL Server que você esta utilizando?


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

    quarta-feira, 15 de abril de 2020 22:51