fhg
Volume 6, Number 20 -- May 17, 2006

Common Sense Comparisons

Published: May 17, 2006

Hey, Esteemed, Professional Colleagues:

Today's technical tip is not rocket science, but that's OK with me because rocket science won't help me keep the factory going. No, today's tip is a practical, yet very simple, SQL (and OPNQRYF) technique that I hope to use regularly for years to come.

One of the first things that was drilled into my bald head in my early days of computer programming was that you can't compare numeric data to character data. It didn't matter what the language was--RPG II, COBOL 68, FORTRAN IV, GW-BASIC--numeric and character were apples and oranges.

I never questioned this restriction until I started working in a production environment. That's when I found out that a certain datum--a date, an item number, or a department code, for instance--might be stored in a numeric field in one file but in an alpha field in another file. Comparing fields of different types required me to convert one of the fields to the type of the other. Why couldn't the computer do that conversion for me?

In V5R3, IBM loosened up this restriction in certain places. I've discovered two of those places--SQL and Open Query File (OPNQRYF). It is possible as of V5R3 to compare numeric data to character data, with the computer handling the conversion. The rub is that the alpha field must contain valid numeric data.

As a simple example, consider a file with two fields--a four-byte alpha field cleverly named ALPHA and a five-digit numeric field of zero decimal places named NUM. The following query uses the DECIMAL function to illustrate what the system will and will not like in character-to-numeric comparisons.

select num, alpha, dec (alpha,4,0)
from some file

If I execute this query in interactive SQL, this is what I see.

NUM     ALPHA      DEC 
  3-    -3           3-
  3-    - 3      ++++++
  3-    -  3     ++++++
  3-    3-       ++++++
  0              ++++++
  1     1            1 
  2      2           2 
  3     +3           3 
  4     0004         4 
  4     0  4     ++++++
  5     5.0          5 
 40     4 0      ++++++

The lines with the plus signs in the third column show which character values will not convert to numeric during a character-to-numeric comparison. Notice what the system likes. Leading and trailing blanks are ignored, but embedded ones are not. You may include a leading plus sign or minus sign, and you may include a decimal point.

So far I have used character-to-numeric comparisons in two SQL clauses--WHERE and JOIN--and they work as I expected.

select *
   from SomeFile
   where CharField > NumField

OPNQRYF also allows comparison of character to numeric data. The following commands select the records where an alpha field is equal to a numeric field.

OPNQRYF FILE((ONEFILE))
   QRYSLT('alpha *eq num') 
CPYFRMQRYF FROMOPNID(ONEFILE) TOFILE(ANOTHER) +
   CRTFILE(*YES)

However, Query/400 does not allow character-to-numeric comparisons, at least not in V5R3.

--Ted



Sponsored By
ASYMEX

SpooliT - Intelligence in document management
EXCELerate your iSeries Reports

Are you still printing AS400 or iSeries reports? Here are the Pros and Cons ...
CONS: Paper and toner costs / Manual process / Slow / Inflexible / Not in the right format

Let SpooliT change the way you distribute reports ...
PROS: Save paper and toner costs / automatic / Real-time distribution / totally flexible / any electronic format

Convert iSeries reports into Excel with SpooliT templates and AUTOMATICALLY:

  • Remove page breaks and blanks lines.
  • Convert negative numbers to true negative numbers.
  • Denormalize level breaks against each row in the spreadsheet.
  • Reorder columns and conditionally select rows based on content.
  • Deliver reports by email or intranet.

SpooliT = ARCHIVE + DISTRIBUTE + CUT TO CD + EXPORT + EMAIL + AUTOMATION

  • AUTOMATICALLY monitor your Outqs and eMail reports to your users
  • AUTOMATICALLY archive your reports to your PC network
  • AUTOMATICALLY categorizes and indexes your Spool Files for easier retrieval
  • AUTOMATICALLY converts your reports to Word, Excel, PDF, HTML, CSV and RTF

Download SpooliT for a FREE Trial and see for yourself
>>>Click here to download SpooliT<<<

Let us personally demonstrate SpooliT for you live via the Internet
>>>Click here to book an online demo of SpooliT<<<

eServer Magazine's review of SpooliT ...
"Frankly, you can't beat it when they Web conference into your system and install it with you. Not every vendor does that with their setups and frankly there's nothing like having the pros install their own software, even if they did it to my box in Virginia all the way from Australia!"
- Don Rima, Technical Editor, eServer Magazine, iSeries Edition.
>>>Click here to read the full independent review of SpooliT by Don Rima<<<

For more information visit www.SpooliT.net



Senior Technical Editor: Ted Holt
Technical Editors: Howard Arner, Joe Hertvik, Shannon O'Donnell, Kevin Vandever
Contributing Technical Editors: Joel Cochran, Wayne O. Evans, Raymond Everhart,
Bruce Guetzkow, Brian Kelly, Marc Logemann, David Morris
Publisher and Advertising Director: Jenny Thomas
Advertising Sales Representative: Kim Reed
Contact the Editors: To contact anyone on the IT Jungle Team
Go to our contacts page and send us a message.

Sponsored Links

Bytware:  Network security, anti-virus, monitoring, notification/alerts, file recovery, & compliance
COMMON:  Join us at the Fall 2006 conference, September 17-21, in Miami Beach, Florida
ProData Computer Services:  Use Server Proven DBU-on-demand for $10 a day anytime, anywhere!

 


 
Subscription Information:
You can unsubscribe, change your email address, or sign up for any of IT Jungle's free e-newsletters through our Web site at http://www.itjungle.com/sub/subscribe.html.

Copyright © 1996-2008 Guild Companies, Inc. All Rights Reserved.
Guild Companies, Inc., 50 Park Terrace East, Suite 8F, New York, NY 10034

Privacy Statement