楼主: gaotao0727
2315 1

[问答] SQL中文的查询,涉及中文的编码问题 [推广有奖]

  • 1关注
  • 10粉丝

已卖:67份资源

副教授

79%

还不是VIP/贵宾

-

威望
0
论坛币
545 个
通用积分
11.1290
学术水平
18 点
热心指数
18 点
信用等级
12 点
经验
27715 点
帖子
873
精华
0
在线时间
855 小时
注册时间
2011-8-8
最后登录
2025-9-11

楼主
gaotao0727 发表于 2014-6-6 11:04:22 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
使用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为辽宁的观测呢?期待高手的回复,应该是编码问题。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:sql proc sql address libname company 中文

衣带渐宽终不悔,为伊消得人憔悴~~

沙发
zhentao 发表于 2014-6-10 20:32:04
你导的不会是CSMAR的数据吧?

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-30 15:12