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 相关。
我正在尝试使用日期读取日期字段。来自 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 相关。