是否将YYYYMMDD8转换为DATE9格式?
我需要在SAS中将YYYYMMDD格式的字符串转换为数字DATE9格式 我可以将字符串转换为YYYYMMDD8,但我很难将其转换为DATE9格式。我认为这将是一种为变量输入format语句并将其设置为DATE9的情况,因为它已经是数字日期格式,但这样做只会产生星号 我试图重现一些示例代码。提供了数据集date1。我已将其转换为YYYYMMDD8。按照步骤2。这是第三步,我不能上班。我尝试过类似问题的答案所提供的公认解决方案,但我无法让它发挥作用。所以我可能做错了什么 简而言之,我需要一个步骤3的工作版本,或者一个简化的步骤2,在一个步骤中将字符串转换为date9是否将YYYYMMDD8转换为DATE9格式?,date,sas,type-conversion,Date,Sas,Type Conversion,我需要在SAS中将YYYYMMDD格式的字符串转换为数字DATE9格式 我可以将字符串转换为YYYYMMDD8,但我很难将其转换为DATE9格式。我认为这将是一种为变量输入format语句并将其设置为DATE9的情况,因为它已经是数字日期格式,但这样做只会产生星号 我试图重现一些示例代码。提供了数据集date1。我已将其转换为YYYYMMDD8。按照步骤2。这是第三步,我不能上班。我尝试过类似问题的答案所提供的公认解决方案,但我无法让它发挥作用。所以我可能做错了什么 简而言之,我需要一个步骤3的
* 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;
这里的问题是格式
yyyymmdd
不存在,它只是yymmdd
。为了简化SAS日期的使用,您应该使用informatanydtdte
。因此,步骤2可以简化为以下内容:
proc sql;
create table date2 as
select input(file_date,anydtdte8.) as file_date2 format=date9.
from date1;
quit;