[firebase-br] Localizar string dentro de outra string.

Tecnobyte Informática temp2 em tecnobyte.com.br
Qui Jun 30 15:28:33 -03 2011


Foi basicamente isto que fiz no procedimento SP_StrToInt. Tento jogar a 
string em uma variável numérica. Se der erro, será executado o código que 
está na parte WHEN.

Atenciosamente.

Daniel P. Guimarães
Tecnobyte Informática
www.tecnobyte.com.br

-----Mensagem Original----- 
From: Diego Maccari
Sent: Thursday, June 30, 2011 1:50 PM
To: FireBase
Subject: Re: [firebase-br] Localizar string dentro de outra string.


Pessoal tava pensando em fazer um CAST no campo STRING para converte-lo em
INTEGER mas isso seria um problema em caso de haver alguma letra na string
a não ser que seja possivel usar alguma função como a TRY EXCEPT do delphi,
algo mais ou menos assim

TRY
  CAST(CAMPO_STRING AS INTEGER)
EXCEPT

END


tem com fazer algo assim no FB 2.5 ??



From: william schneider volkweis
Sent: Thursday, June 30, 2011 2:33 PM
To: Diego Maccari ; FireBase
Subject: Re: [firebase-br] Localizar string dentro de outra string.

case(0 ate 9) then begin
end;
else
no else ele vai encontra as letras
nao so muito experiente em bd firebird ainda
por enquanto so posso dar sugestao
hauha

Em 30 de junho de 2011 14:25, Diego Maccari <diegomaccari em ig.com.br>
escreveu:
William boa tarde

Não entendi como assim uar CASE ??

Poderia exemplificar?

Obrigado



-----Mensagem Original----- From: william schneider volkweis
Sent: Thursday, June 30, 2011 1:37 PM
To: FireBase
Subject: Re: [firebase-br] Localizar string dentro de outra string.



usa case



2011/6/30 Tecnobyte Informática <temp2 em tecnobyte.com.br>



Bom dia

Se queres apenas determinar se o campo em questão contém um número inteiro,
poderá usar este procedimento abaixo:

CREATE OR ALTER PROCEDURE SP_StrIsInt(StrValue VARCHAR(20))
RETURNS(Result SMALLINT) AS
DECLARE VARIABLE IntValue INTEGER;
DECLARE VARIABLE FloatValue DOUBLE PRECISION;
BEGIN
IntValue = StrValue;
FloatValue = StrValue;
IF (IntValue = FloatValue) THEN
Result = 1;
ELSE
Result = 0;
SUSPEND;
WHEN ANY DO
BEGIN
Result = 0;
SUSPEND;
END
END^

Use como abaixo:

SELECT * FROM Tabela
WHERE (SELECT SP.Result FROM SP_StrIsInt(Tabela.Campo) AS SP) = 0

Atenciosamente.

Daniel P. Guimarães
Tecnobyte Informática
www.tecnobyte.com.br

-----Mensagem Original----- From: Diego Maccari
Sent: Thursday, June 30, 2011 9:33 AM
To: FireBase
Subject: [firebase-br] Localizar string dentro de outra string.


Bom dia pessoal

Tenho a seguinte situação a resolver:

Tenho um determinado campo em um tabela do tipo VARCHAR(4), e nela armazeno
números (crieu varchar porque preciso ter zeros a esquerda)
preciso verificar a existencia de algum caracter que não seja numero em seu
contéudo.

Ex: 019A, neste caso preciso identificar a existencia deste “A”.

Como posso saber se existe algum caracter que não seja número este
conteúdo.

Alguma coisa com IF apenas para indicar a existencia não preciso
substitui-lo, apenas saber da sua existencia.

Att

Diego.





Mais detalhes sobre a lista de discussão lista