![]() | ![]() | ![]() | ![]() |
In SAS® 9.3 and earlier, the default value of the YEARCUTOFF= option is 1920. This default setting causes data integrity issues because any two-digit years of "20" in dates will be assumed to be 1920 instead of 2020. If the intended year in the date is 2020, you must set the YEARCUTOFF= option to a value larger than 1920. The best alternative is to always specify four-digit years in dates to avoid confusion.
The YEARCUTOFF= system option lets you specify which century SAS software should assign to dates with two-digit years used in SAS programs and input data. The YEARCUTOFF= option specifies the first year of a 100-year window in which all two-digit years are assumed to occur. For example, if the YEARCUTOFF= option is set to 1920, which is the default for SAS 9.3 and earlier, all two-digit years are assumed to occur between 1920 and 2019. This behavior means that two-digit years from 20 to 99 will be assigned a century prefix of "19," and all two-digit years from 00 to 19 will have a century prefix of "20."
The YEARCUTOFF= option affects the interpretation of two-digit years in the following cases:
The YEARCUTOFF= option has no effect in the following cases:
For more information, see SAS Note 65307, "You might encounter an issue in which two-digit year dates have the wrong century in SAS® 9.3 and earlier releases."
This SAS Note provides an example that enables SAS customers to set the SAS system option YEARCUTOFF with a rolling value to mitigate the necessity of managing the site setting for this option every year.
On the Full Code tab, you can access a sample macro called ROLLYCO. As provided, this macro sets the SAS system option YEARCUTOFF to the current four-digit year minus 99. For example, if the current year is 2020, then the SAS system option YEARCUTOFF is set to 1921. To adjust the rolling date to a different default for your site, change the value for the OFFSET= used in the MACRO.
In order to always use this macro in your SAS software, use one of the following methods and see the note below the methods:
Note: This is the least favored option.
Note for all methods: The placeholder location.where.rollyco.stored is the path and name for the stored sample program that provides Read permissions for all.
Examples of locations:
Windows: c:\public\sasmac\rollyco.txt
UNIX: /usr/lpp/SAS/sasmac/rollyco
z/OS: PUBLIC.PDS.SASMAC(ROLLYCO)
| Product Family | Product | System | SAS Release | |
| Reported | Fixed* | |||
| SAS System | Base SAS | z/OS | ||
| z/OS 64-bit | ||||
| OpenVMS VAX | ||||
| Macintosh | ||||
| Microsoft® Windows® for 64-Bit Itanium-based Systems | ||||
| Microsoft Windows Server 2003 Datacenter 64-bit Edition | ||||
| Microsoft Windows Server 2003 Enterprise 64-bit Edition | ||||
| Microsoft Windows XP 64-bit Edition | ||||
| Microsoft® Windows® for x64 | ||||
| OS/2 | ||||
| Microsoft Windows 8 Enterprise 32-bit | ||||
| Microsoft Windows 8 Enterprise x64 | ||||
| Microsoft Windows 8 Pro 32-bit | ||||
| Microsoft Windows 8 Pro x64 | ||||
| Microsoft Windows 8.1 Enterprise 32-bit | ||||
| Microsoft Windows 8.1 Enterprise x64 | ||||
| Microsoft Windows 8.1 Pro 32-bit | ||||
| Microsoft Windows 8.1 Pro x64 | ||||
| Microsoft Windows 10 | ||||
| Microsoft Windows 95/98 | ||||
| Microsoft Windows 2000 Advanced Server | ||||
| Microsoft Windows 2000 Datacenter Server | ||||
| Microsoft Windows 2000 Server | ||||
| Microsoft Windows 2000 Professional | ||||
| Microsoft Windows NT Workstation | ||||
| Microsoft Windows Server 2003 Datacenter Edition | ||||
| Microsoft Windows Server 2003 Enterprise Edition | ||||
| Microsoft Windows Server 2003 Standard Edition | ||||
| Microsoft Windows Server 2003 for x64 | ||||
| Microsoft Windows Server 2008 | ||||
| Microsoft Windows Server 2008 R2 | ||||
| Microsoft Windows Server 2008 for x64 | ||||
| Microsoft Windows Server 2012 Datacenter | ||||
| Microsoft Windows Server 2012 R2 Datacenter | ||||
| Microsoft Windows Server 2012 R2 Std | ||||
| Microsoft Windows Server 2012 Std | ||||
| Microsoft Windows Server 2016 | ||||
| Microsoft Windows Server 2019 | ||||
| Microsoft Windows XP Professional | ||||
| Windows 7 Enterprise 32 bit | ||||
| Windows 7 Enterprise x64 | ||||
| Windows 7 Home Premium 32 bit | ||||
| Windows 7 Home Premium x64 | ||||
| Windows 7 Professional 32 bit | ||||
| Windows 7 Professional x64 | ||||
| Windows 7 Ultimate 32 bit | ||||
| Windows 7 Ultimate x64 | ||||
| Windows Millennium Edition (Me) | ||||
| Windows Vista | ||||
| Windows Vista for x64 | ||||
| 64-bit Enabled AIX | ||||
| 64-bit Enabled HP-UX | ||||
| 64-bit Enabled Solaris | ||||
| ABI+ for Intel Architecture | ||||
| AIX | ||||
| HP-UX | ||||
| HP-UX IPF | ||||
| IRIX | ||||
| Linux | ||||
| Linux for x64 | ||||
| Linux on Itanium | ||||
| OpenVMS Alpha | ||||
| OpenVMS on HP Integrity | ||||
| Solaris | ||||
| Solaris for x64 | ||||
| Tru64 UNIX | ||||
%MACRO ROLLYCO(OFFSET=99);
data _null_;
call symput('yearcutoff',put(year(date())-&OFFSET,4.)||';');
run;
options YEARCUTOFF=&yearcutoff;
%MEND ROLLYCO;
%ROLLYCO;| Type: | Usage Note |
| Priority: |
| Date Modified: | 2020-05-28 12:04:45 |
| Date Created: | 2020-03-03 12:13:53 |



