|
//--- forwarded letter -------------------------------------------------------
> X-Mailer: QUALCOMM Windows Eudora Pro Version 3.0.3 (16)
> Date: Wed, 28 Jan 98 10:01:29 +1100
> From: "Mark Lazarus" <mlazarus@ttec.com>
> To: MIDRANGE-L@midrange.com
> Reply-To: MIDRANGE-L@midrange.com
> Subject: SQL string conversion
>
> Is there a way to convert a string to a numeric in SQL/400? I have a file
> that is being uploaded from a PC. The initial DB that it is being uploaded
> to has a single field. The area in the record is being pre-screened to
> make sure it is numeric.
>
> What I wanted to do is something like this: SELECT * WHERE VAL( SUBST(
> DATA, 15, 7 ) ) > 100. Or assign it to a numeric field an on update. I
> realize that there is no VAL function. Is there an equivalent function or
> workaround?
>
> -mark
>
I don't believe SQL/400 supports TO_NUMBER although some other SQL dialects do.
You can however
accomplish the task with OPNQRYF using the MAPFLD keyword:
MAPFLD((NEWFLD '%sst(DATA 15 7)' *ZONED 7))
Then you can use the mapped field in the selection clause:
QRYSLT('*MAPFLD/NEWFLD > 100')
Once the ODP has been built you can move NEWFLD to the target database field or
host variable and
perform the update. The update can be performed with native I/O or SQL/400.
Isn't it great! An integrated database so I can use more than one way to skin
the proverbial cat.
Note that because OPNQRYF supports this function the query engine also supports
it therefore
3rd-party tools which use a Query Definition Template (QDT) such as ASC Sequel
should also be able
to support this. I'd guess that TO_NUMBER is not an ISO SQL function and
therefore the AS/400 does
not support it.
Regards,
Simon Coulter.
//----------------------------------------------------------
// FlyByNight Software AS/400 Technical Specialists
// Phone: +61 3 9419 0175 Mobile: +61 3 0411 091 400
// Fax: +61 3 9419 0175 E-mail: shc@flybynight.com.au
//
// Windoze should not be open at Warp speed.
+---
| This is the Midrange System Mailing List!
| To submit a new message, send your mail to "MIDRANGE-L@midrange.com".
| To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.