• The Four Hundred
  • Subscribe
  • Media Kit
  • Contributors
  • About Us
  • Contact
Menu
  • The Four Hundred
  • Subscribe
  • Media Kit
  • Contributors
  • About Us
  • Contact
  • Calculate Ages with Query/400

    May 26, 2004 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

    Share this:

    • Reddit
    • Facebook
    • LinkedIn
    • Twitter
    • Email

    Tags:

    Sponsored by
    VISUAL LANSA 16 WEBINAR

    Trying to balance stability and agility in your IBM i environment?

    Join this webinar and explore Visual LANSA 16 – our enhanced professional low-code platform designed to help organizations running on IBM i evolve seamlessly for what’s next.

    🎙️VISUAL LANSA 16 WEBINAR

    Break Monolithic IBM i Applications and Unlock New Value

    Explore modernization without rewriting. Decouple monolithic applications and extend their value through integration with modern services, web frameworks, and cloud technologies.

    🗓️ July 10, 2025

    ⏰ 9 AM – 10 AM CDT (4 PM to 5 PM CEST)

    See the webinar schedule in your time zone

    Register to join the webinar now

    What to Expect

    • Get to know Visual LANSA 16, its core features, latest enhancements, and use cases
    • Understand how you can transition to a MACH-aligned architecture to enable faster innovation
    • Discover native REST APIs, WebView2 support, cloud-ready Azure licensing, and more to help transform and scale your IBM i applications

    Read more about V16 here.

    Share this:

    • Reddit
    • Facebook
    • LinkedIn
    • Twitter
    • Email

    Touchtone Delivers OS/400 CRM Through WebSphere Portal OS/400 Community Reacts to New eServer i5

    Leave a Reply Cancel reply

Volume 4, Number 18 -- May 26, 2004
THIS ISSUE
SPONSORED BY:

Advanced Systems Concepts
Guild Companies
Client Server Development
Guild Companies

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

Content archive

  • The Four Hundred
  • Four Hundred Stuff
  • Four Hundred Guru

Recent Posts

  • Liam Allan Shares What’s Coming Next With Code For IBM i
  • From Stable To Scalable: Visual LANSA 16 Powers IBM i Growth – Launching July 8
  • VS Code Will Be The Heart Of The Modern IBM i Platform
  • The AS/400: A 37-Year-Old Dog That Loves To Learn New Tricks
  • IBM i PTF Guide, Volume 27, Number 25
  • Meet The Next Gen Of IBMers Helping To Build IBM i
  • Looks Like IBM Is Building A Linux-Like PASE For IBM i After All
  • Will Independent IBM i Clouds Survive PowerVS?
  • Now, IBM Is Jacking Up Hardware Maintenance Prices
  • IBM i PTF Guide, Volume 27, Number 24

Subscribe

To get news from IT Jungle sent to your inbox every week, subscribe to our newsletter.

Pages

  • About Us
  • Contact
  • Contributors
  • Four Hundred Monitor
  • IBM i PTF Guide
  • Media Kit
  • Subscribe

Search

Copyright © 2025 IT Jungle