perl, oracle a desetinna carka/tecka?

Honza Pazdziora adelton na informatics.muni.cz
Úterý Listopad 12 11:57:34 CET 2002


On Tue, Nov 12, 2002 at 11:45:27AM +0100, Karel Zak wrote:
> On Tue, Nov 12, 2002 at 11:39:49AM +0100, Honza Pazdziora wrote:
> > >  TO_NUMBER(char [,fmt [, 'nlsparams'] ])    ?
> > 
> > Ale kdyz OP specifikuje jako typ ORA_NUMBER, tak by mel DBD::Oracle
> > pouzit bindovani cislem sam od sebe.
> 
>  Ja nerikam, ze ne :-) nejsem ani moc Oracle-ista a uz vubec ne-perl-im.
>  Jen jsem mel pocit, ze to_number() je obecny postup (nebo ne?)
> 
>  To bindovani vypada tak, ze se tam doplni neco jako to_number()?

Ten bind_param se prevadi na prislusne OCI(8) volani. Obcas se
DBD::Oracle po prepare (tedy parsovani) je schopen Oraclu zeptat,
jaky typ pro jednotlive parametry ocekava, a podle toho vzit ten
parametr z Perlu a zavolat spravne bindovani. Tim tretim parametrem se
mu to da natvrdo vnutit, ze se ma pouzit jisty typ. Ne, ze bych nekdy
ORA_NUMBER pouzil, protoze mi Perl sam od sebe DWIM (does what I mean),
ale nez to zacnu zkoumat u sebe, tak chci vedet, jake ma nastaveni
promennych OP.

Samozrejme, muzete pouzit to_number, pak se ten parametr bude bindovat
jako retezec. Ma to malickou nevyhodu, ze pokud ten retezec nebude
uplne korektni cislo, tak ten to_number spadne s ORA-01722: invalid
number, zatimco kdyz ta konverze bude probihat v Perlu, tak se z toho
v nejhorsim stane undef, tedy null, myslim.

-- 
------------------------------------------------------------------------
 Honza Pazdziora | adelton na fi.muni.cz | http://www.fi.muni.cz/~adelton/
      ... all of these signs saying sorry but we're closed ...
------------------------------------------------------------------------


Další informace o konferenci Databases