none
LIKE + IN RRS feed

  • Pergunta

  • Falae rapaziada blz ??? Estou com a seguinte dúvida , nunca tinha me deparado com isso antes, por exemplo tenho uma tabela quero usar o LIKE e o IN tentei de todas as formas e não consegui alguém tem alguma alternativa secundária pra problemas desse genero ???

     

     

    Valeu

    terça-feira, 13 de março de 2007 15:58

Respostas

  • O q você poderia fazer então seria a junção de vários likes mas pode comprometer bastante o desempenho da sua aplicação.

    select * from sysobjects where name like 'Sys%' or name like 'FK%'

     

    Espero ter ajudado

    terça-feira, 13 de março de 2007 16:24

Todas as Respostas

  • Pode passar o seu select ???

     

     

    Abs

    terça-feira, 13 de março de 2007 16:00
  • Opa claro Mr.Anderson , vou passar um select de exemplo similar:


     SELECT *
     FROM  PARAMETRODTS
     WHERE  Nom_Dts IN ('BI_CFM_DW_F_CFM_AbordagemProfissional','BI_CFM_DW_F_CFM_AgendaAcompFarmacia')

     

    Até ai blz , mas e caso eu não saiba o nome dos DTS completos e queira filtrar apenas pelo que souber dos nomes deles, ai pensei que jogar o LIKE mas não vira usando o IN ...

     

     

    terça-feira, 13 de março de 2007 16:09
  • Bom não é o mais indicado mas nesse caso você poderia fazer o seguinte:

     SELECT *
     FROM  PARAMETRODTS
     WHERE  Nom_Dts IN  LIKE 'BI_CFM_DW_F_CFM_%'

     

     

    Espero ter ajudado

    terça-feira, 13 de março de 2007 16:14
  • Sim pra esses casos em que tem o mesmo prefixo sim , porém tem outros que tem outros prefixos !!!

    terça-feira, 13 de março de 2007 16:19
  • O q você poderia fazer então seria a junção de vários likes mas pode comprometer bastante o desempenho da sua aplicação.

    select * from sysobjects where name like 'Sys%' or name like 'FK%'

     

    Espero ter ajudado

    terça-feira, 13 de março de 2007 16:24
  • eu gosto mais de usar um var table com join segue

     

    Declare @Table table (querykey varchar(20))
    insert into @Table (querykey) Values ('sys')
    insert into @Table (querykey) Values ('fk')

    select * from sysobjects inner join @Table tb on sysobjects.name like tb.querykey+'%'

    Abs;

    terça-feira, 13 de março de 2007 16:33
  • Valeu Mr Anderson qualquer coisa te retorno !!!!

    terça-feira, 13 de março de 2007 16:34
  • mais uma ideia com o patindex

     

    Declare @Table table (querykey varchar(20))
    insert into @Table (querykey) Values ('sys')
    insert into @Table (querykey) Values ('fk')

    select * from sysobjects inner join @Table tb on patindex(tb.querykey+'%',sysobjects.name) > 0

     

    se puder fugir do like melhor.

    abs;

    terça-feira, 13 de março de 2007 16:51