如何在SQL Server上执行%let

时间:2019-03-21 13:48:07

标签: sql sql-server sas rstudio

我在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,该语句仅需要在代码的一部分中进行更改,而在使用的所有位置中不要进行多次更改?如何在RStudio中使用SQL进行引用?

1 个答案:

答案 0 :(得分:0)

如果您使用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"
>