SAS: Proc SQL学习笔记02

笔记1 

 

SQL中的数据类型转换

SAS中的数据类型有character和numeric,因此可以在PROC SQL中指定数据类型为char和num,示例:

create table t1(Dest char(3), StartDate num format=date9.);

也可以指定标准SQL中的格式,SAS会自动转换为character或者numeric类型,比如int, float, decimal, date,都会转换为numeric类型,比如有以下程序

proc sql;
 create table work.t1
  (Dest varchar(3),
   StartDate date,
   EndDate date,
   Discount float);
quit;

proc contents data=work.t1;
run;

输出如下:

按字母排序的变量和属性列表
# 变量 类型 长度 输出格式 输入格式
1 Dest 字符 3    
4 Discount 数值 8    
3 EndDate 数值 8 DATE. DATE.
2 StartDate 数值 8 DATE. DATE

 

column modifier

可以使用FORMAT=, LABEL=来指定列的属性,比如

create table t1(Dest char(3) label='Destination City', StartDate num format=date9.);

 

Insert语句的形式

Insert有以下3种形式:

1. insert into t1 values('miao','M',23) values ('han','F',22); /*注意,insert多个值不能用逗号隔开,而是用values隔开*/

2.  insert into t1 select * from t2;

3. insert into t1 set col1=value1, col2=value2 set col1=value3, col2=value4; 

 

describe table 

describe table可以看到表的创建语句,比如使用describe table sashelp.class;可以看到SAS LOG中如下输出:

NOTE: SQL table SASHELP.CLASS was created like:

create table SASHELP.CLASS( label='学生数据' bufsize=65536 )
  (
   Name char(12) label='姓名',
   Sex char(4) label='性别',
   Age num label='年龄',
   Height num label='身高(英寸)',
   Weight num label='体重(磅)'
  );

 

Dictionary table

类似于DB2的系统表,其中

  • dictionary.tables类似于syscat.tables
  • dictionary.columns类似于syscat.columns
  • dictionary.indexes类似于syscat.indexes

例如要查看一个lib下面的数据集的名子、多少行、多少列、创建日期,可以使用下面的SQL:

 select memname,nobs,nvar,crdate from dictionary.tables where libname='SASHELP';

输出如下图所示:

SAS: Proc SQL学习笔记02_第1张图片

如果想查看其他信息,可以使用describe table dictionary.tables来查看每个字段的说明。

 

Inner Join与Out Join

inner join和out join示意图如下

SAS: Proc SQL学习笔记02_第2张图片

其中inner join的语法为 select xxx from t1 INNER JOIN  t2 on t1.col1=t2.col1;

outer join分为left join, right join和full join,语法和inner join类似,只不过把上面的INNER换成LEFT、RIGHT或者FULL

 

COALESCE函数

这个函数接受一至多个参数,返回第一个非missing的参数。如果只有一个参数,返回这个参数的值。 如果所有参数值都missing,那么返回missing。

示例: COALESCE(., 7, ., ., 42); 结果为7

 

参考资料:

SAS Certified Professional Prep Guide

你可能感兴趣的:(办公)