Talk About Network

Google


Register and Login
Nick
Password
Register create new account Sign up is FREE and you can post replies, new topics, bookmark posts and more!
Recover lost password


Data Bases > Pgsql General > A plpgsql unide...
Latest [ Topics | Posts ] Archive Post A New Topic Post a Reply
<< Topic < Post Post 1 of 4 Topic 15866 of 17437
Post > Topic >>

A plpgsql unidentifiable problem.

by smithrn@[EMAIL PROTECTED] (Ralph Smith) Jun 19, 2008 at 12:18 PM

--Apple-Mail-76--627280299
Content-Type: text/plain;
	charset=US-ASCII;
	format=flowed;
	delsp=yes
Content-Transfer-Encoding: 7bit

I'm baffled and have tried various variations but still nogo.

 From PgAdmin III I get:
-------------------------------------------
********** Error **********

ERROR: syntax error at or near ";"
SQL state: 42601
Character: 19001

-- referring to the semi-colon after the 'END' statement.


*******************************
When I check this out in PgAdmin III.
-------------------------------------------
CREATE OR REPLACE FUNCTION time_to_utime(given_time varchar) RETURNS  
INT AS
$$

DECLARE

   uppergt   varchar ;
   colon1    int ;
   colon2    int ;
   digitsA   varchar ;
   digitsB   varchar ;
   digitsC   varchar ;
   numberA   int ;
   numberB   int ;
   numberC   int ;
   result    int ;

BEGIN

   IF check_time(given_time) = FALSE THEN
     RAISE NOTICE 'The time passed into function time_to_utime is not  
in a valid format.' ;
   END IF ;

   -- ----------------------------------------

   uppergt := upper(given_time) ;

   IF uppergt = 'BOD' THEN RETURN 0 ;
   IF uppergt = 'MOD' THEN RETURN 86400/2 ;
   IF uppergt = 'EOD' THEN RETURN 86399 ;

   -- ----------------------------------------

   colon1:=strpos(invar,':') ;
   colon2:=colon1+strpos(substring(invar from colon1+1),':') ;

   digitsA := split_part(invar,':',1) ;
   numberA := to_number(digitsA,'99') ;

   digitsB := split_part(invar,':',2) ;
   numberB := to_number(digitsB,'99') ;

   digitsC := split_part(invar,':',3) ;
   numberC := to_number(digitsC,'99') ;

   result := 3600*numberA + 60*numberB + numberC  ;

   RETURN result ;

END ;
$$ LANGUAGE PLPGSQL ;    /* time_to_utime   */
********************************************

Any clues?

THANKS!

Ralph Smith


--Apple-Mail-76--627280299
Content-Type: text/html;
	charset=US-ASCII
Content-Transfer-Encoding: quoted-printable

<html><body style=3D"word-wrap: break-word; -webkit-nbsp-mode: space; =
-webkit-line-break: after-white-space; "><div style=3D"word-wrap: =
break-word; -webkit-nbsp-mode: space; -webkit-line-break: =
after-white-space; "><div><div>I'm baffled and have tried various =
variations but still nogo.<div><br></div><div>=46rom PgAdmin III I =
get:<div>-------------------------------------------</div><div><div =
style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 0px; font: normal normal normal 13px/normal 'Lucida =
Grande'; ">********** Error **********</div><div style=3D"margin-top: =
0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: =
normal normal normal 13px/normal 'Lucida Grande'; min-height: 16px; =
"><br></div><div style=3D"margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 0px; font: normal normal normal =
13px/normal 'Lucida Grande'; ">ERROR: syntax error at or near =
";"</div><div style=3D"margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 0px; font: normal normal normal =
13px/normal 'Lucida Grande'; ">SQL state: 42601</div><div =
style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 0px; font: normal normal normal 13px/normal 'Lucida =
Grande'; ">Character: 19001</div><div style=3D"margin-top: 0px; =
margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal =
normal normal 13px/normal 'Lucida Grande'; min-height: 16px; =
"><br></div></div><div>-- referring to the semi-colon after the 'END' =
statement.</div><div><br></div><div><br></div><div>***********************=
********</div><div>When I check this out in PgAdmin =
III.</div><div>-------------------------------------------</div><div><div>=
CREATE OR REPLACE FUNCTION time_to_utime(given_time varchar) RETURNS INT =
AS</div><div>$$</div><div><br></div><div>DECLARE</div><div><br></div><div>=
&nbsp;&nbsp;uppergt &nbsp; varchar ;</div><div>&nbsp;&nbsp;colon1 &nbsp; =
&nbsp;int ;&nbsp;</div><div>&nbsp;&nbsp;colon2 &nbsp; &nbsp;int =
;</div><div>&nbsp;&nbsp;digitsA &nbsp; varchar =
;</div><div>&nbsp;&nbsp;digitsB &nbsp; varchar =
;</div><div>&nbsp;&nbsp;digitsC &nbsp; varchar =
;</div><div>&nbsp;&nbsp;numberA &nbsp; int =
;</div><div>&nbsp;&nbsp;numberB &nbsp; int =
;</div><div>&nbsp;&nbsp;numberC &nbsp; int =
;</div><div>&nbsp;&nbsp;result &nbsp; &nbsp;int =
;</div><div>&nbsp;&nbsp;</div><div>BEGIN</div><div><br></div><div>&nbsp;&n=
bsp;IF check_time(given_time) =3D FALSE THEN</div><div>&nbsp;&nbsp; =
&nbsp;RAISE NOTICE 'The time passed into function time_to_utime is not =
in a valid format.' ;</div><div>&nbsp;&nbsp;END IF =
;</div><div><br></div><div>&nbsp;&nbsp;-- =
----------------------------------------</div><div><br></div><div>&nbsp;&n=
bsp;uppergt :=3D upper(given_time) =
;</div><div><br></div><div>&nbsp;&nbsp;IF uppergt =3D 'BOD' THEN RETURN =
0 ;</div><div>&nbsp;&nbsp;IF uppergt =3D 'MOD' THEN RETURN 86400/2 =
;</div><div>&nbsp;&nbsp;IF uppergt =3D 'EOD' THEN RETURN 86399 =
;</div><div><br></div><div>&nbsp;&nbsp;-- =
----------------------------------------</div><div><br></div><div>&nbsp;&n=
bsp;colon1:=3Dstrpos(invar,':') =
;</div><div>&nbsp;&nbsp;colon2:=3Dcolon1+strpos(substring(invar from =
colon1+1),':') ;</div><div><br></div><div>&nbsp;&nbsp;digitsA :=3D =
split_part(invar,':',1) ;</div><div>&nbsp;&nbsp;numberA :=3D =
to_number(digitsA,'99') =
;</div><div>&nbsp;&nbsp;&nbsp;</div><div>&nbsp;&nbsp;digitsB :=3D =
split_part(invar,':',2) ;</div><div>&nbsp;&nbsp;numberB :=3D =
to_number(digitsB,'99') ;</div><div><br></div><div>&nbsp;&nbsp;digitsC =
:=3D split_part(invar,':',3) ;</div><div>&nbsp;&nbsp;numberC :=3D =
to_number(digitsC,'99') ;</div><div><br></div><div>&nbsp;&nbsp;result
:=3D=
 3600*numberA + 60*numberB + numberC =
&nbsp;;</div><div><br></div><div>&nbsp;&nbsp;RETURN result =
;</div><div>&nbsp;&nbsp;&nbsp;</div><div>END ;</div><div>$$ LANGUAGE =
PLPGSQL ; &nbsp; &nbsp;/* time_to_utime &nbsp; =
*/</div><div>********************************************</div><div><br></=
div><div>Any =
clues?</div><div><br></div><div>THANKS!</div><div><br></div><div>Ralph =
Smith</div><div><br></div></div></div></div></div></div></body></html>=

--Apple-Mail-76--627280299--
 




 4 Posts in Topic:
A plpgsql unidentifiable problem.
smithrn@[EMAIL PROTECTED]  2008-06-19 12:18:40 
Re: A plpgsql unidentifiable problem.
philippe.gregoire@[EMAIL   2008-06-19 15:51:41 
Re: A plpgsql unidentifiable problem.
philippe.gregoire@[EMAIL   2008-06-19 15:49:01 
Re: A plpgsql unidentifiable problem.
smithrn@[EMAIL PROTECTED]  2008-06-19 16:53:10 

Post A Reply:
  Go here to Signup

AddThis Feed Button


About - Advertising - Contact - Frequently Asked Questions - Privacy Policy - Terms of Use - Signup

Contact
tan12V112 Sat Nov 22 16:16:42 CST 2008.