在Proc SQL Teradata传递中使用SAS宏变量

森林

我有一个希望使用SAS EG(9.4)自动执行的SQL语句。以下语句已在Teradata SQL Assistant中进行了测试,并且可以正常工作。

select * from TD.DATA where date='2015-06-01'

现在,我希望通过proc SQL传递将其推送,并将日期输入到SQL程序中,就像这样...。

proc sql;
connect to teradata as tera(user=&tera_user password="&tera_pwd" tdpid=terap);
create table MYDATA as 
select * from connection to tera
(
select * from TD.DATA where date='2015-06-01'
);
disconnect from tera;
quit;

上面的代码已经过测试,并产生与之前的SQL语句完全相同的输出。但是,我真正想要做的是这样的事情:

%let input_date='2015-06-01';
proc sql;
connect to teradata as tera(user=&tera_user password="&tera_pwd" tdpid=terap);
create table MYDATA as 
select * from connection to tera
(
select * from TD.DATA where date=&input_date.
);
disconnect from tera;
quit;

我已经尝试了各种不同的引号和不同的日期格式组合。...我在这里缺少什么?谢谢。

克里斯·J

您可以使用%BQUOTE()宏函数来解析单引号内的宏变量。

%let input_date = 2015-06-01;
proc sql;
  以tera身份连接到teradata(用户=&tera_user密码=“&tera_pwd” tdpid = terap);
  创建表MYDATA为 
  选择*从连接到Tera
   从TD.DATA中选择*,其中date =%BQUOTE('&INPUT_DATE')
  );
  与Tera断开连接;
辞职;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用 SAS 宏变量在 PROC SQL 中使用 IN 运算符选择所有值

来自分类Dev

proc sql中的sas宏

来自分类Dev

Proc SQL和宏变量

来自分类Dev

在宏中使用proc sql SAS“找到的位置参数比定义的更多”

来自分类Dev

在宏中使用proc sql SAS“找到的位置参数比定义的更多”

来自分类Dev

SAS Proc SQL行号

来自分类Dev

SAS Datetime Proc SQL

来自分类Dev

SAS PROC SQL参考宏列表

来自分类Dev

带有proc SQL的SAS宏

来自分类Dev

在PROC SQL中使用变量引用列名

来自分类Dev

在许多sql proc中使用SAS全局变量进行调用

来自分类Dev

在SAS中使用proc sql按日期分组

来自分类Dev

SAS:DATA STEP与PROC SQL

来自分类Dev

条件合并SAS PROC SQL

来自分类Dev

在SAS隐式SQL传递中使用Teradata UDF

来自分类Dev

SAS 宏中的 PROC SQL 列出数据集的所有变量 - SELECT 语句导致错误

来自分类Dev

解析远程 PROC SQL (SAS) 中的宏引用

来自分类Dev

使用proc SQL的条件总和

来自分类Dev

在proc sql中替换宏变量的字符串

来自分类Dev

在proc sql中替换宏变量的字符串

来自分类Dev

proc sql outobs =触发SAS警告

来自分类Dev

Proc SQL:SAS如何/何时移动数据

来自分类Dev

SAS Proc SQL修剪不起作用?

来自分类Dev

在PROC SQL(SAS)中声明variabe

来自分类Dev

SAS的PROC SQL中的求和语句

来自分类Dev

如何避免SAS中的proc sql

来自分类Dev

SAS EG 5.1-PROC SQL

来自分类Dev

Proc SQL:SAS如何/何时移动数据

来自分类Dev

proc sql outobs =触发SAS警告