none
comando like RRS feed

  • Pergunta

  • Boa tarde pessoal!

    Estou com uma duvida ao utilizar o like, eu testei e nao deu certo. Preciso fazer o seguinte

    where estrutura like '1.01.02.04%'  or estrutura like '1.01.02.05%' 

    Preciso pegar documentos com a estrtura sempre que comeca com '1.01.02.04%'  ou com a estrtura '1.01.02.05%'   .

    Como que eu especifico o comeco dessas duas estruturas usando apenas o like?

     

    Obrigada

    sexta-feira, 29 de julho de 2011 16:50

Respostas

  • Novaes,

    Retificando, no seu caso você poderá fazer dessa forma

    WHERE estrutura like '1.01.02.0[45]%'

    A condição irá buscar as estruturas que começam com 1.01.02.0 mais um ultimo digito podendo ser 4 ou 5.

    @Fabrizzio, sei disso, por isso mesmo disse que teria que especificar o nome completo de cada estrutura que você deseja buscar

    Espero ter ajudado, se for o caso, marque como útil e como resposta.


    Rafael Godoi Sabadin
    http://www.linkedin.com/pub/rafael-godoi-sabadin/30/b20/a0b


    Classifique as respostas. O seu feedback é essencial.
    • Sugerido como Resposta Rafael Godoi Sabadin sexta-feira, 29 de julho de 2011 17:20
    • Marcado como Resposta NovaesB sexta-feira, 29 de julho de 2011 18:17
    sexta-feira, 29 de julho de 2011 17:17

Todas as Respostas

  • Boa tarde!

    Infelizmente não existe uma maneira de listar vários nomes com apenas um like.

    O que você poderia fazer seria usar o operador IN, porém teria que especificar o nome completo de cada estrutura que você deseja buscar.

    Veja que este assunto foi tratado recentemente em 2 fóruns:

    Like + IN e Like vários registros

    Espero ter ajudado, se for o caso, marque como útil e como resposta.


    Rafael Godoi Sabadin
    http://www.linkedin.com/pub/rafael-godoi-sabadin/30/b20/a0b


    Classifique as respostas. O seu feedback é essencial.




    sexta-feira, 29 de julho de 2011 16:57
  • Novaes,

     

    Não entendi sua duvida, veja este exemplo:

    DECLARE @t1 TABLE(ID VARCHAR(100))

    INSERT INTO @t1 VALUES

    ('1.01.02.04.56781'),

    ('1.01.02.04.56781'),

    ('1.01.02.05.56781'),

    ('1.01.02.06.56781'),

    ('1.01.02.05.56781'),

    ('1.01.02.07.56781')

     

    SELECT ID

    FROM @t1

    WHERE ID LIKE '1.01.02.05%'

    OR ID LIKE '1.01.02.04%'

     

    Voce pode aninhar likes, mas no caso, ele trara os que começam com (No meu exemplo) tudo antes do %.

    Se preferir poste como estão seus dados e como gostaria que seu select retornasse.

     

    @Rafael,

    O in pode ajudar, mas o in não possui caracter coringa, como o % ou o _ para o like.


    Fabrizzio A. Caputo
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCTS SQL Server 2008
    Developer Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com
    sexta-feira, 29 de julho de 2011 17:13
    Moderador
  • Novaes,

    Retificando, no seu caso você poderá fazer dessa forma

    WHERE estrutura like '1.01.02.0[45]%'

    A condição irá buscar as estruturas que começam com 1.01.02.0 mais um ultimo digito podendo ser 4 ou 5.

    @Fabrizzio, sei disso, por isso mesmo disse que teria que especificar o nome completo de cada estrutura que você deseja buscar

    Espero ter ajudado, se for o caso, marque como útil e como resposta.


    Rafael Godoi Sabadin
    http://www.linkedin.com/pub/rafael-godoi-sabadin/30/b20/a0b


    Classifique as respostas. O seu feedback é essencial.
    • Sugerido como Resposta Rafael Godoi Sabadin sexta-feira, 29 de julho de 2011 17:20
    • Marcado como Resposta NovaesB sexta-feira, 29 de julho de 2011 18:17
    sexta-feira, 29 de julho de 2011 17:17
  • Novaes

    usando parte do script do Fabrizzio este modo será um poyuco mais performático (como se o like fosse :) ) mas neste modo não temos o or

    DECLARE @t1 TABLE(ID VARCHAR(100))
    INSERT INTO @t1 VALUES
    ('1.01.02.04.56781'),
    ('1.01.02.04.56781'),
    ('1.01.02.05.56781'),
    ('1.01.02.06.56781'),
    ('1.01.02.05.56781'),
    ('1.01.02.07.56781')
     
    SELECT ID
    FROM @t1
    WHERE ID LIKE '1.01.02.0[4-5]%'
    


    Att.
    Marcelo Fernandes


    MCP, MCDBA, MCSA, MCTS.
    Se útil, classifique!!!
    Me siga no twitter: @marcelodba

    sexta-feira, 29 de julho de 2011 17:19