Sas:如何在proc sql中格式化日期值


您可以使用SAS中PROC SQL中的FORMAT语句以特定方式格式化日期值。

以下示例展示了如何在实践中使用FORMAT语句。

示例:在 PROC SQL 中格式化日期值

假设我们在 SAS 中有以下数据集,其中包含有关零售店促销开始日期和总销售额的信息:

 /*create dataset*/
data my_data;
    format start_date date9. ;
    input start_date: date9. dirty;
    datalines ;
01JAN2023 22
01FEB2023 16
14MAR2023 11
01MAY2023 32
13MAY2023 15
18AUG2023 11
20OCT2023 36
;
run ;

/*view dataset*/
proc print data =my_data;

我们可以使用PROC SQLFORMAT语句来选择此数据集中的所有行,并以MM/DD/YY格式显示start_date列中的值:

 /*select all rows and format start_date column using mmddyy8.*/ 
proc sql ;
    select start_date format= mmddyy8. , dirty
    from my_data;
quit ; 

请注意, start_date列中的值现在以MM/DD/YY格式显示。

您还可以使用FORMAT语句来格式化使用PROC SQL创建的新变量。

例如,以下代码演示如何通过向start_date添加 7 天并将其格式化为 date9 来创建名为end_date的新变量反而:

 /*create new end_date column with specific format*/ 
proc sql ;
    select start_date format= mmddyy8. , start_date+7 as end_date format= date9. , dirty
    from my_data;
quit ; 

请注意,我们可以通过多次使用FORMAT语句来指定start_dateend_date变量的格式。

其他资源

以下教程解释了如何在 SAS 中执行其他常见任务:

SAS:如何在 PROC SQL 中使用 WHERE 运算符
SAS:如何在 PROC SQL 中使用 IN 运算符
SAS:如何在 PROC SQL 中使用 UPDATE
SAS:如何在 PROC SQL 中使用 CONTAINS

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注