SAS Tip: Convert CYYMMDD to a SAS date in PROC SQL (Daily tip for 2026-Sep-30)


In AS400 systems, the IBM date format can be transmitted in the format CYYMMDD, where the C indicates Century and is either a "0" to indicate a date earlier than 2000 or a "1" for dates thereafter. For example: 960412 = 4/12/1996, 1180809 = 8/9/2018.

 

To convert this date format to a SAS date, you can use the following line in your PROC SQL statements:

mdy(mod(<datefield>,10000)/100,mod((<datefield>,100),(<datefield>/10000) + 1900)

You can also add a "format=" statement to return the value you're looking for, eg:

format = date9.

would return 09AUG2018,

format = mmddyys10.

would return 08/09/2018.

READ this complete tip   Visit a random SAS tip

Start a topic
About these Tips
A "SAS tip" is a basic unit of information exchange between SAS users. The tips on this board come from sasCommunity.org, from SAS user conferences, from SAS blogs, and from freelance contributions from SAS users like you. We hope that you're able to always learn something new here!


» How you can contribute


Tip-o-meter: 65 tips