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

andre conrado acf.andre em gmail.com
Qui Jun 30 15:57:37 -03 2011


quero brincar tb.. rsrsrs

SET TERM ^^ ;
CREATE PROCEDURE P_VERIFICADOR returns (
  TEU_CAMPO VarChar(4),
  STATUS VarChar(20))
AS
DECLARE VARIABLE bEncontrouAlfa INTEGER;
BEGIN
    FOR SELECT TEU_CAMPO FROM TUA_TABELA
        INTO :TEU_CAMPO
    DO
    BEGIN
        P = 1;
        bEncontrouAlfa = 0;

        WHILE (P <= CHAR_LENGTH(TEU_CAMPO)) DO
        BEGIN
              IF (NOT '0123456789' CONTAINING SUBSTRING(TEU_CAMPO FROM
P FOR 1)) THEN
              BEGIN
                 bEncontrouAlfa = 1;
              END
        END

        IF (bEncontrouAlfa = 1) THEN
           STATUS = 'ALANÚMERICO';
        ELSE
           STATUS = 'NÚMERO';
    END
END ^^
SET TERM ; ^^


**********************************************


não testei, mas a lógica básica ta ae.



abços



Em 30/06/11, Tecnobyte Informática<temp2 em tecnobyte.com.br> escreveu:
> 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.
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>


-- 
Um Abraço,
André Conrado.

055 21 9176-7013 - Claro




Mais detalhes sobre a lista de discussão lista