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 SQL和FORMAT语句来选择此数据集中的所有行,并以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_date和end_date变量的格式。
其他资源
以下教程解释了如何在 SAS 中执行其他常见任务:
SAS:如何在 PROC SQL 中使用 WHERE 运算符
SAS:如何在 PROC SQL 中使用 IN 运算符
SAS:如何在 PROC SQL 中使用 UPDATE
SAS:如何在 PROC SQL 中使用 CONTAINS