小编典典

在Oracle SQL / SAS中,“变量=”(变量=点)是什么意思?

sql

我将SAS脚本转换为Python,其中SAS脚本与Oracle数据库连接,而Python将与PostgreSQL数据库连接。在SAS代码中,我发现以下语句:

proc sql noprint;
create table table_name as
  select distinct wtn
    from another_table
   where account = .
;

“ where account =”是什么?在Oracle中是什么意思?还是不是Oracle SQL,而是SAS?还是在所有形式的SQL中都可用?

此外,如果它是特定于SAS和/或Oracle的,我将在PostgreSQL中使用什么代替它?


阅读 377

收藏
2021-03-23

共1个答案

小编典典

在SAS中,数字变量(包括日期变量)的缺失值显示为一个句点。在对数字字段进行排序时,SAS将数字空值视为等于“最低可能数”(基本上为负无穷大)。

SAS数据集将以句点作为缺失数据的值。当您使用proc
export将数据导出为CSV时,我相信它将创建一个空值。要真正回答您的问题,您将需要知道从sasdata设置到当前数据库的ETL是如何完成的。

我希望您的数据已经针对您的数据库进行了规范化。因此,我认为您应该使用“ IS NULL”代替“ varname =’。” “。见下文:

create table table_name as
select distinct wtn
from another_table
  where account is NULL
;

此外,SAS字符变量的缺失值显示为空白。缺少字符的值设置如下:如果name =“ none”,则name =’‘。

2021-03-23