[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