什么是“ variable =”。(变量=点)在Oracle SQL / SAS中意味着什么?

B J*_*B J 3 sql oracle postgresql sas

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

proc sql noprint;
create table table_name as
  select distinct wtn
    from another_table
   where account = .
;
Run Code Online (Sandbox Code Playgroud)

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

此外,如果特定于SAS和/或Oracle,那么我将在PostgreSQL中使用什么呢?

inv*_*ell 6

在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
;
Run Code Online (Sandbox Code Playgroud)

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