Bill, Sami
I have been watching this thread with some interest.. I have yet to
fool with stored procedures much, so I decided to look into what
you are talking about here... WOW... this is cool.
I debugged and modified your code like this:
*(
Return same string with all non-numeric characters removed
(CALL KeepNum(TextValue))
To store this:
SET PROC KeepNum LOCK ON
PUT KeepNum.prc AS KeepNum +
pKN_InputText TEST (48) +
RETURN TEXT (48) +
'Strip non-numeric characters from a string'
)
CLEAR VAR MICRORIM_RETURN
SET VAR pkn_returntext TEXT = NULL
IF pkn_inputtext IS NULL THEN
GOTO lbexit
ELSE
SET VAR pkn_stringlen = (SLEN(.pkn_inputtext))
SET VAR pkn_counter = 1
WHILE pkn_counter <= pkn_stringlen THEN
SET VAR pkn_char = (SGET(.pkn_inputtext, 1, pkn_counter))
IF '0123456789' CONTAINS .pkn_char THEN
SET VAR pkn_returntext = (.pkn_returntext + .pkn_char)
ENDIF
SET VAR pkn_counter = (.pkn_counter + 1)
ENDWHILE
ENDIF
LABEL lbexit
CLEAR VAR pkn_counter, pkn_stringlen, pkn_char
RETURN .pkn_returntext
I hope you don't mind.. I think I will start using this a lot more.
Thank you for a great lesson
Jim Limburg
--- Bill Downall <[EMAIL PROTECTED]> wrote:
> Sami,
>
> My apologies for expecting you to do the work for me.
>
> Here. Your job is the debugging. I didn't do that part yet.
>
> With this, you should be able to:
>
> SELECT COUNT(*) INTO vcount FROM table +
> WHERE (call KeepNum(columnname)) = .vtest
>
> or even:
>
> UPDATE tablename +
> SET columnname = (CALL KeepNum(columnname)) +
> WHERE (columnname <> (CALL KeepNum(columnname))
>
> Bill
> =======================================
> *(
> Return same string with all non-numeric characters removed
>
> (CALL KeepNum(TextValue))
>
> To store this:
> SET PROC KeepNum LOCK ON
> PUT KeepNum.prc AS KeepNum +
> pKN_InputText TEST (48) +
> RETURN TEXT (48) +
> 'Strip non-numeric characters from a string'
> )
> CLEAR VAR Microrim_Return
>
> SET VAR pKN_ReturnText TEXT = NULL
> IF pKN_InputText IS NULL THEN
> goto lbExit
>
> SET VAR pKN_StringLen = (SLEN(.pKN_InputText))
> SET VAR pKN_Counter = 1
> WHILE pKN_Counter <= pKN_StringLen THEN
> SET VAR pKN_Char = (SGET(.pKN_InputText, 1, pKN_Counter))
> IF '0123456789' CONTAINS .pKN_Char THEN
> SET VAR pkn_ReturnText = (.pKN_ReturnText + .pKN_Char)
> ENDIF
> SET VAR pKN_Counter = (.pKN_Counter + 1)
> ENDWHILE
>
> LABEL lbExit
> CLEAR VAR pKN_Counter, pKN_StringLen, pKN_Char
>
> RETURN .pKN_REturnText
>
> ======================
>
>
> On Tue, 11 Jun 2002 10:50:06 -0500, Sami Aaron wrote:
>
> >I want to be able to issue the command:
> >
> >SELECT COUNT(*) INTO vcount FROM table WHERE (format
> (columnname,something,
> >something)) = .vtest.
> >
> >example: SELECT COUNT(*) INTO vcount FROM table WHERE
> 00051334944 =
> >00051334944
> >
>
>
>
>
>
> ================================================
> TO SEE MESSAGE POSTING GUIDELINES:
> Send a plain text email to [EMAIL PROTECTED]
> In the message body, put just two words: INTRO rbase-l
> ================================================
> TO UNSUBSCRIBE: send a plain text email to [EMAIL PROTECTED]
> In the message body, put just two words: UNSUBSCRIBE rbase-l
> ================================================
> TO SEARCH ARCHIVES:
> http://www.mail-archive.com/rbase-l%40sonetmail.com/
__________________________________________________
Do You Yahoo!?
Yahoo! - Official partner of 2002 FIFA World Cup
http://fifaworldcup.yahoo.com
================================================
TO SEE MESSAGE POSTING GUIDELINES:
Send a plain text email to [EMAIL PROTECTED]
In the message body, put just two words: INTRO rbase-l
================================================
TO UNSUBSCRIBE: send a plain text email to [EMAIL PROTECTED]
In the message body, put just two words: UNSUBSCRIBE rbase-l
================================================
TO SEARCH ARCHIVES:
http://www.mail-archive.com/rbase-l%40sonetmail.com/