SAS:读取具有一种信息格式的日期字段,它以不同的日期格式保存

SAS: Reading Date field with one informat which it is saved in a different date format

我正在尝试使用日期读取日期字段。来自 SAS 数据集的信息。此数据集是使用 mmddyy10 的日期格式创建的。当我意识到我正在尝试读取格式不正确的日期而不是保存在 SAS 数据集中的日期时,我以为我会得到不正确的结果。

如果这是一种奇怪的行为或者 SAS 可以智能地识别该日期,有人可以帮我解决这个问题。或 mmddyy10。都代表同一个日期?

DATA WORK.BOOKED_DEALER_TRANSACTIONS; 
  INFILE DEALER_RECORDS DSD; 
  INPUT @10 STATUS . 
        @26 TRANSACTION_REQ_DT MMDDYY10. 
        @ 46 PROCESS_DT MMDDYY10. 
        @63 DLR_NM . 
        @119 PROCESS_TIME TIME 
  ; 
  WHERE ORDER_STATUS = 'CONFIRMED_ORDERS';
run;

SAS 中的日期值(正确保存时)存储为整数,即自 1/1/1960 以来的整数天数。例如,今天是20230

然后格式告诉 SAS 在整齐地打印时应该是什么样子;和 informats 告诉 SAS 如何将整齐打印的日期转换为该数字。在您的示例中,mmddyy10. 是一种信息,它告诉 SAS 将 05/22/2015 转换为 20230.

欢迎您与 DATE9 进行比较。格式为此日期值:因为两者都将存储为整数。它们在屏幕上的样子与人类相关,但整数与 SAS 相关。