如何在 SQL 服务器上执行 %let

How to perform %let on SQL server

我在 SAS 中有一个代码,它与 %LET 宏中的时间段相关联,我这样使用它:

%let month_reference = feb19

    proc sql;
    create table sales_v01 as select
    *
    from  sales_&month_reference 
    where sales_code = 99
;run;

我正在使用 %LET 因为还有许多其他正在使用的表需要每月更新这部分代码,所以手动更新它们对我来说太昂贵了。

不过,我正在从 SAS 更改为 RStudio,我在 RStudio 中的 SQL 中进行编程。我想知道如何在这个新系统中执行 %LET

我现在有类似的东西

SALES <- 
"CREATE OR REPLACE TABLE SALES_V01 AS SELECT
*
FROM SALES_FEB19 
WHERE SALES_CODE = 99"

如何将 FEB19 替换为只需要在代码的一部分进行更改而不是在所有使用它的地方更改多次的标准化语句?我如何在 SQL 中的 RStudio 编程中进行引用?

如果您使用 R 生成要传递给数据库的 SQL 代码,则只需使用普通的 R 字符串操作即可。

> month_reference <- "feb19"
> base_code <- "create table sales_v01 as select * from  sales_"
> want_code <- paste(base_code,month_reference,sep="")
> want_code
[1] "create table sales_v01 as select * from  sales_feb19"
>