Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否将YYYYMMDD8转换为DATE9格式?_Date_Sas_Type Conversion - Fatal编程技术网

是否将YYYYMMDD8转换为DATE9格式?

是否将YYYYMMDD8转换为DATE9格式?,date,sas,type-conversion,Date,Sas,Type Conversion,我需要在SAS中将YYYYMMDD格式的字符串转换为数字DATE9格式 我可以将字符串转换为YYYYMMDD8,但我很难将其转换为DATE9格式。我认为这将是一种为变量输入format语句并将其设置为DATE9的情况,因为它已经是数字日期格式,但这样做只会产生星号 我试图重现一些示例代码。提供了数据集date1。我已将其转换为YYYYMMDD8。按照步骤2。这是第三步,我不能上班。我尝试过类似问题的答案所提供的公认解决方案,但我无法让它发挥作用。所以我可能做错了什么 简而言之,我需要一个步骤3的

我需要在SAS中将YYYYMMDD格式的字符串转换为数字DATE9格式

我可以将字符串转换为YYYYMMDD8,但我很难将其转换为DATE9格式。我认为这将是一种为变量输入format语句并将其设置为DATE9的情况,因为它已经是数字日期格式,但这样做只会产生星号

我试图重现一些示例代码。提供了数据集date1。我已将其转换为YYYYMMDD8。按照步骤2。这是第三步,我不能上班。我尝试过类似问题的答案所提供的公认解决方案,但我无法让它发挥作用。所以我可能做错了什么

简而言之,我需要一个步骤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;

这里的问题是格式
yyyymmdd
不存在,它只是
yymmdd
。为了简化SAS日期的使用,您应该使用informat
anydtdte
。因此,步骤2可以简化为以下内容:

proc sql;
create table date2 as
select input(file_date,anydtdte8.) as file_date2 format=date9.
from date1;
quit;