|
//--- forwarded letter ------------------------------------------------------- > X-Mailer: QUALCOMM Windows Eudora Pro Version 3.0.3 (16) > Date: Mon, 02 Feb 98 10:45:33 +1100 > From: "Mark Lazarus" <mlazarus@ttec.com> > To: MIDRANGE-L@midrange.com > Reply-To: MIDRANGE-L@midrange.com > Subject: Re: SQL string conversion > > Simon, > > At 12:57 AM 2/2/98 +1100, you wrote: > > >> 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? > > >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! > > Yes it is! I didn't know you can use an OPNQRYF ODP w/ SQL/400. Thanks! > > -mark > Mark, That's not quite what I said. My suggestion is to use OPNQRYF to present the data to the program in the form requested. I would use native I/O to read the OPNQRYF ODP. I believe the update is to a second file (a proper database file) for which the updates can be done with native I/O or SQL/400. My understanding of the original append is that PC data is being dumped into a flat file which is processed and written to a DB2/400 file. While Query/400 will use an already open ODP (which can cause immense confusion) I'm pretty sure SQL ignores the shared override. It does acknowledge the OVRDBF command but ignores the SHARE parameter. Note that the OPNQRYF *ZONED operator is different from the SQL ZONED function. The *ZONED operator will accept character data provided the length of the character data is the same as the zoned representation and the character data can be interpreted as numbers. 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.