Ir para conteúdo
FabianoSouza

COLLATE em query dinâmica

Recommended Posts

Pessoal, por que essa query com COLLATE  não funciona?

declare @strPesquisa varchar(30)
SET @strPesquisa = 'naicle'

SET @sql = 'SELECT '
SET @sql = @sql + 'ML.nome '
SET @sql = @sql + 'FROM '
SET @sql = @sql + 'dbo.minhaTab AS ML '
SET @sql = @sql + ' WHERE ' 
SET @sql = @sql + ' nome LIKE '
SET @sql = @sql + '''%' + @strPesquisa COLLATE Latin1_General_CI_AI + '%'''
EXEC (@sql)

Não acusa erro ao rodar.
Mas não traz os registro porque está gravado como "naiclê" (com acento), o que significa que não está aplicando a COLLATE.

 

Montando essa mesma query mas da forma tradicional, o COLLATE funciona.

 

SELECT
ML.nome 
FROM 
dbo.minhaTab AS ML 
WHERE 
nome LIKE 
'%'+ @strPesquisa COLLATE Latin1_General_CI_AI+'%'

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por janir.matheus
      Boa tarde, peço ajuda dos membros desse fórum pois confesso estar completamente perdido.
      Tomando como base o diagrama (em anexo), preciso de uma query que retorne as empresas, seus produtos e as categorias de cada produto, sendo que cada produto pode pertencer a uma ou mais categorias.
       
      select tbl_produtos.Empresa, tbl_empresas.Nome, tbl_catprod.Categoria, tbl_classproduto.Classe, tbl_produtos.Id, tbl_produtos.Produto from tbl_produtos inner join tbl_empresas on tbl_produtos.Empresa = tbl_empresas.Id left join tbl_catprod on tbl_produtos.Id = tbl_catprod.Categoria left join tbl_classproduto on tbl_catprod.Categoria = tbl_classproduto.Id; Tentei a consulta mostrada acima mas o resultado não foi o que eu esperava.
      Agradeço antecipadamente pela ajuda.

    • Por peterstefan
      Olá, estou com uma query aqui e preciso pegar de 2 campos diferentes os dados diferente de 0,  mais quanto tento no AND ele somente traz um resultado, o OR ele traz um dos campos com o valor 0, teria alguma forma de pegar os dados diferente de 0 dos dois campus?
      preciso pegar o idOrganizador diferente de 0 e o idPiloto diferente de 0 
       
      SELECT * FROM boletos WHERE proc = 0 AND idOrganizador !='0' AND idPiloto ='0';  
    • Por TeixeiraRamos
      Olá pessoal,
      Por favor, tem que ser feita alguma mudança no código depois que se muda para a versão Wampserver64?
      Estou tentando abrir as minhas páginas e mostra erro. Um exemplo:
       
       
      No exemplo a linha 62:
      $result = $PDO->query($sql); No phpMyAdmin fiz o teste com a sql é funcionou corretamente.
       
      Obrigado
       
       
       
    • Por william_droops
      Olá, tenho uma tabela com esta estrutura

      Quero montar uma Query que dê este resultado. 

    • Por Jefferson andre
      Ola, alguem pode me ajudar a preencher corretamente o campo de razao social do cliente por favor. 
       
      Na tabela o campo id esta preenchendo corretamente
       
      Obrigado pela ajuda
       
      <label for="inputNome">Cliente</label> <br> <?php require_once('conexao_dbo.php'); $filtro_clientes = $arquivo->prepare("SELECT id, razao,deletado, ativo, id_empresa FROM clientes WHERE deletado=0 AND id_empresa='$id_empresa' ORDER BY ativo,razao"); $filtro_clientes->execute(); $filtro_cliente_atual = $filtro_clientes->fetch(); //print_r($filtro_clientes); ?> <select class="custom-select col-md-12" required name="id_cliente" id="id_cliente" required name="cliente"> <option value='<?php echo $filtro_cliente_atual['id'];?>' selected> <?php echo $filtro_cliente_atual['razao'];?> </option> <?php while ($clientes = $filtro_clientes->fetch()) {?> <option value="<?php echo $clientes['id'] ?>"><?php echo $clientes['razao'];?> </option> <?php } ?> </select>  
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.