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 Test