Newsletters   Subscriptions  Forums  Store  Media Kit  About Us  Contact  Search   Home 
fhg
Volume 4, Number 18 -- May 26, 2004

Calculate Ages with Query/400


Hey, Ted:

I love to read Four Hundred Guru. It always contains great ideas and techniques!

We need to calculate an age using Query/400. The database file that we are using has an eight-digit zoned-decimal birthdate field, in the format YYYYMMDD. Can you help?

--Greg


You need to convert the zoned decimal field to a date field. Then you will be able to subtract it from the system date to get a date duration. A date duration is an eight-digit field representing years, months, and days. For more information about date durations, see my answer to Helen's question.

The following query output, which was generated on May 26, 2004, shows age in two formats. The third column shows years, months, and days. The fourth column shows years only.

NAME        DOB           AGE                               AGEYEARS
Betty       1981-01-01    23 years 04 months 25 days        23 
Sue         1981-12-31    22 years 04 months 26 days        22 
Bill        2000-05-25     4 years 00 months 01 days         4 
Jack        2000-05-26     4 years 00 months 00 days         4 
Jim         2000-05-27     3 years 11 months 30 days         3

Here are the result field calculations that I used to build those columns.

Select define result fields.

Field       Expression                           Len  Dec
DOBCHAR     digits(dob)                

DOBEDITED   substr(dobchar,1,4)||'-'|| 
            substr(dobchar,5,2)||'-'|| 
            substr(dobchar,7,2)        

DOBDATE     date(dobedited)         
                                    
AGE         current(date) - dobdate 

AGEYEARS    age / 10000                           4     0

DOBCHAR converts the zoned-decimal date to character format. DOBEDITED puts the date into *ISO format (YYYY-MM-DD), and DOBDATE converts to the date data type. Subtracting DOBDATE from the system date yields a date duration, which you will need to edit in order to make it readable.

To edit the duration, select specify report column formatting, from the Query menu, move the cursor to the AGE field, press F16, select option 4, and enter this edit word:

'    &years&  &months&  &days&'

There are four blanks before &years& and two blanks each before &months& and &days&.

I used simple division to extract the years portion of the duration. Since the months portion of the duration will never be more than 11, the number of years will never be rounded.

--Ted

Sponsored By
CLIENT SERVER DEVELOPMENT

Never Worry About Time Again

Daylight savings time coming up? Need to synchronize your iSeries or AS/400 with a network time device? Is your AS/400 time in sync with other servers on your network? Participating in HIPAA or EDI transactions?

Let Atomic Time Manager 400 synchronize your clocks!

Atomic Time Manager 400 is an easy-to-use utility developed by Client Server Development. It resides on your iSeries and automatically adjusts your hardware and software clocks, keeping them in sync with other servers on your network.

The Atomic Time Manager 400 also automatically adjusts your clocks to "spring forward" and "fall back" when daylight savings time changes. Forget about complex offsets, SNTP configuration, and scheduling CL programs to adjust time--the Atomic Time Manager 400 does it for you.

The best part, at only $499 per iSeries or AS/400, the Atomic Time Manager 400 is the affordable solution for your time management needs.

Click here to learn more about the Atomic Time Manager 400
and order yours through Guild Companies now!


Editors: Howard Arner, Joe Hertvik, Ted Holt,
Shannon O'Donnell, Kevin Vandever
Managing Editor: Shannon Pastore
Contributing Editors: Joel Cochran, Wayne O. Evans, Raymond Everhart,
Bruce Guetzkow, 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.

THIS ISSUE
SPONSORED BY:

Advanced Systems Concepts
Guild Companies
Client Server Development
Guild Companies


BACK ISSUES

TABLE OF
CONTENTS
Creating Dynamic Queries

Security and DDM Files

Calculate Ages with Query/400

OS/400 Alert: V5R3 Has Many New Admin and Operations Features



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