Jump to content

POWERED BY:

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+'%'

 

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By 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.

    • By 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';  
    • By 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
       
       
       
    • By william_droops
      Olá, tenho uma tabela com esta estrutura

      Quero montar uma Query que dê este resultado. 

    • By 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>  
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.