[firebase-br] Acentos e afins em SELECT

Marcelo Silva marcvan em ig.com.br
Qua Fev 1 12:29:15 -03 2006


O detalhe é que os acentos estão no banco e não na string pesquisada

:-(

Tenho que criar uma PROC no banco para tratar o que esta sendo buscado :-(
Mas nao tenho a menor ideia de como fazer...
Mas... vamos lá :-)



Marcelo Silva
(11) 9693-4251
MSN: marcvan em ig.com.br


----- Original Message ----- 
From: "Carlos - Muzambinho - F&S Inf." <carlosmuzambinho em yahoo.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Wednesday, February 01, 2006 10:15 AM
Subject: Re: [firebase-br] Acentos e afins em SELECT


Eu trabalho da seguinte maneira :
  Criei uma pequena função, em delphi, para substituir qualquer acento por
  "_" (underline).
  Este caractere, num "like", por exemplo, aceita qualquer caractere no 
local.

  vai abaixo, a função de BRINDE par todos :


  // Troca STRING com acentos, para "_" no local que tiver acento.
  // utilizado nos select para funcionar filtro com acentos.
  // Autor : Carlos A.F.S.
  // Data Criação : Domingo, 19/dez/2004
  Function AjustaString_Para_SQL(Str_Enviada:String):String;
  var
  Antes, s:String;
  x:Integer;
  Begin
      s:='';  Str_Enviada := UpperCase(Str_Enviada);
      //
      // Se for algum caractere acentuado, substitui por "%"
      Antes := Str_Enviada ;
      For x:=1 to Length(Antes) do
      begin
          If Antes[X] in [
          'á' , 'Á' , 'à','À', 'Ã','ã', 'â', 'Â' , 'ª', 'º',
          'é' , 'É' , 'è','È',          'ê', 'Ê' ,
          'í' , 'Í' , 'ì','Ì',          'î', 'Î' ,
          'ó' , 'Ó' ,          'Õ','õ', 'ô', 'Ô' ,
          'ú' , 'Ú' ,
          'ç' , 'Ç'   ] then
          S:= S + '_'
          Else
          S:= S + Antes[X];
      End;
      Result := S;
  End;

Marcelo Silva <marcvan em ig.com.br> escreveu:  Pessoal, tenho uma base que 
esta com o campo CIDADE gravado assim: São
Paulo, São Gonçalo, etc.

Preciso fazer um select buscando por SAO PAULO ou SAO GONCALO que traga
essas cidades

Sei que UPPER(CIDADE) já adiantaria 1/2 caminho :-)

Mas a pergunta é: Tem como tratar esses acentos e caracteres "ç, á, à, etc."
em um SELECT ????


# Obs. Essa tabela é um guia de compras por isso tenho que gravar com os
caracteres corretos :-)


Marcelo Silva
(11) 9693-4251
MSN: marcvan em ig.com.br


______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
Para editar sua configuração na lista, use o endereço 
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa




---------------------------------
 Yahoo! doce lar. Faça do Yahoo! sua homepage.
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
Para editar sua configuração na lista, use o endereço 
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa



-- 
Internal Virus Database is out-of-date.
Checked by AVG Free Edition.
Version: 7.1.375 / Virus Database: 267.14.21/236 - Release Date: 20/01/2006






Mais detalhes sobre a lista de discussão lista