【发布时间】:2020-01-30 18:03:55
【问题描述】:
我需要将 YYYYMMDD 格式的字符串转换为 SAS 中的数字 DATE9 格式。
我可以将字符串转换为 YYYYMMDD8,但我很难将其转换为 DATE9 格式。我认为这只是为变量输入格式语句并将其设置为 DATE9 的情况,因为它已经是数字日期格式,但这样做只会产生星号。
我试图重现一些示例代码。提供了数据集 date1。我已将其转换为 YYYYMMDD8。按照第 2 步。这是第 3 步,我无法开始工作。我已经尝试过类似问题的答案所提供的公认解决方案,但我无法让它发挥作用。所以我可能做错了什么。
简而言之,我需要第 3 步的工作版本,或简化的第 2 步,一步将字符串转换为 date9。
* STEP 1 - Provided;
data date1;
FORMAT file_date $8.;
file_date = '20191209';
run;
* Step 2 - Convert to YYYYMMDD8.;
PROC SQL;
CREATE TABLE date2 AS
SELECT INPUT(file_date,yyyymmdd8.) AS file_date2 FORMAT YYYYMMDD8.
FROM date1;
* Step 3 - Convert to DATE9. (Results in asterisks in place of the actual date);
DATA date3;
SET date2;
FORMAT file_date3 date9.;
file_date3 = file_date2;
RUN;
【问题讨论】:
标签: date sas type-conversion