| 
 | 
//--- 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.