使用PROC IMPORT导入数据集,其中一个变量是公司地址,使用如下的建立逻辑库命令时查看公司地址显示乱码;
libname SCD "E:\Company\Data\";
使用如下的建立逻辑库命令时查看公司地址显示正常;
libname SCD "E:\Company\Data\" inencoding=utf8;
下面我根据需要截取公司地址的前2个字,就是省的名字,代码如下;
data scd.App_Data;
set scd.App_Data;
format Comp_Address_Prov $6.;
Comp_Address_Prov=Left(Comp_Address);
Comp_Address_Prov=Substr(Comp_Address_Prov,1,6);
run;
截取的位数是试的结果,不知道为啥是6位。
问题如下:使用Proc SQL进行查询,查询不到数据,比如:
proc sql noprint;
create table a as select * from scd.App_data where index(Comp_Address_Prov,"辽宁")>0;
quit;
再或者:
proc sql noprint;
create table a as select * from scd.App_data where trim(Comp_Address_Prov)="辽宁";
quit;
最后得到的表a中都没有观测,请问上面的SQL该如何修改才能查到Comp_Address_Prov为辽宁的观测呢?期待高手的回复,应该是编码问题。