我需要把sas代码转换成PostgreSQL。但是我看不懂这段代码。请帮我把下面的代码转换成SQL代码。
data fc_action_v1;
set action_targets;
Region_mod = upcase(region);
rename '2nd_Item_nr'n = Prodnumber;
run;
上面的sas代码是否等同于下面的sql代码?
create table data fc_action_v1 as
select
region_mod as region,
2nd_item_nr as prodnumber
from action_targets
或以上SAS代码表示这一点?创建表数据fc_action_v1作为选择 *,region_mod作为区域,2nd_item_nr作为action_targets中的产品编号
还是别的什么?请帮我把上面的sas代码翻译成PostgreSQL SQL
1条答案
按热度按时间zf9nrax11#
在SQL中,你需要输入所有你想复制的变量。(继续使用SAS代码的一个原因)。
您的SQL没有生成名为REGION_MOD的NEW变量,也没有将其设置为REGION中的大写版本。
我怀疑POSTGRESQL会像SAS一样遇到以数字开头的变量名问题,所以使用POSTGRESQL支持的任何语法来引用非标准变量名。ANSI标准应该支持使用带引号的变量名。(但是要注意你在变量名中使用的大小写,因为PostgreSQL对变量名的大小写有奇怪的规则)。
所以更像是:
其中var1、var2和var3只是为了说明您需要列出所有变量(按照您希望它们在数据集中出现的顺序)。SAS数据步骤将添加新变量REGION_MOD作为数据集中的最后一个变量。