Sql-Usar like para achar um quot;¬quot;

Delphi

25/07/2005

Como faço para localizar numa string um sinal de ¬ , visto que é um coringa no operador like ???


Motta

Motta

Curtidas 0

Respostas

Michelli88

Michelli88

25/07/2005

[size=16:34c67754c9][color=violet:34c67754c9][b:34c67754c9]Bom é assim q eu uso![/b:34c67754c9][/color:34c67754c9][/size:34c67754c9]
Query.Parameters.ParamByName(´PNOME´).Value:=EDIT_PROCURAR.Text+´¬´;


e no SQL

SELECT * FROM TABELA
WHERE
  CAMPO_NOME LIKE :PNOME


[size=18:34c67754c9]T+![/size:34c67754c9]


GOSTEI 0
Rjun

Rjun

25/07/2005

Select * From Cliente Where Nome Like ´¬[¬]¬´



GOSTEI 0
Sparch

Sparch

25/07/2005

[size=16:d4c765bde6][color=violet:d4c765bde6][b:d4c765bde6]Bom é assim q eu uso![/b:d4c765bde6][/color:d4c765bde6][/size:d4c765bde6]
Query.Parameters.ParamByName(´PNOME´).Value:=EDIT_PROCURAR.Text+´¬´;
e no SQL
SELECT * FROM TABELA
WHERE
  CAMPO_NOME LIKE :PNOME
[size=18:d4c765bde6]T+![/size:d4c765bde6]


Esse é o jeito correto.


GOSTEI 0
Motta

Motta

25/07/2005

Não, eu fui pouco claro , quero achar uma substring ´¬´ numa string usando o operador like com o curinga ¬ , assim o coringa mascara a subtring trazendo qq coisa, fiz uma gambi... que funcionou ...

SELECT TYPE,NAME,TEXT
FROM USER_SOURCE
WHERE REPLACE(text,´¬´,´¿´) LIKE ´¬EMP¿¬´

No Oracle funcionou face a este function REPLACE.

De qq forma valeu pela força !!


GOSTEI 0
Beppe

Beppe

25/07/2005

Acho que duplicando o ¬(ficando ¬¬) funciona.


GOSTEI 0
Motta

Motta

25/07/2005

No Oracle não Beppe, ele trata como curinga ainda.


GOSTEI 0
Beppe

Beppe

25/07/2005

Ah, pensei que quisesse implementar em outro banco, que naão tivesse replace.

Bom, se [¬] não funciona(acho que só no SQL Server), veja se o Oracle não permite a cláusula ESCAPE, ex:

WHERE c1 LIKE ´¬10-15!¬ off¬´ ESCAPE ´!´


GOSTEI 0
Motta

Motta

25/07/2005

O manuEl da Oracle falava em ESCAPE, mas não entendi patavina e não tinha exemplos.

Qual a lógica do funcionamento ?


GOSTEI 0
Beppe

Beppe

25/07/2005

Após o ESCAPE, segue o caractere que vc quer usar para ´escapar´ uma literal. No exemplo, o ! faz com que o ¬ subsequente não seja tratado como curinga.


GOSTEI 0
Motta

Motta

25/07/2005

FUNCIONOU !!

SELECT *
FROM USER_SOURCE
WHERE TEXT LIKE ´¬EMP!¬¬´ ESCAPE ´!´

ACHOU A STRING ´EMP¬´ NOS FONTES ...


GOSTEI 0
POSTAR