将 sas mdy 函数转换为 yymmdd 格式的 sql

Convert the Sas mdy function to sql in yymmdd format

提问人:Bhargavi Gottapu 提问时间:11/15/2023 更新时间:11/15/2023 访问量:22

问:

我们有一个包含 mdy 函数的 sas 代码,我想将该函数转换为 yymmdd 格式的 sql。

谁能帮忙。

SAS代码: 如果 day(&x.)<12 和 month(&x.)=1 然后调用 symputx('date_boundary',put(mdy(10,1,year(&x.)-1),日期。

日期应采用 yyyymmdd 格式

SQL SAS 类型转换

评论

0赞 Adrian Maxwell 11/15/2023
但是哪种类型的 SQL?(即实际使用了哪个 DBMS?每个 SQL 实现的日期处理语法都大不相同。请选择正确的标签。
0赞 Bhargavi Gottapu 11/15/2023
雪地公园可以转换吗
0赞 Richard 11/15/2023
宏变量中的值是多少?以后计划如何使用宏变量?它会在 SQL 传递查询中吗?它是否会成为针对远程数据库库 (Snowpark) 中表的 SAS SQL 查询的一部分?xdate_boundary

答:

0赞 whymath 11/15/2023 #1

您可能需要语句和宏条件语句:select into%if ... %then

%if %sysfunc(day(&x.))<12 and %sysfunc(month(&x.))=1 %then %do;
proc sql noprint;
  select put(mdy(10,1,year(&x.)-1),yymmddn8.) into :date_boundary from sashelp.class;
quit;
%end;

yyyymmdd 格式,可以使用 or .yymmddn8.b8601da8.