SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 645|回复: 3
打印 上一主题 下一主题

紧急求助: SAS的中文处理问题 (有实例)

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2009-3-12 16:26:25 | 只看该作者

紧急求助: SAS的中文处理问题 (有实例)

请看下面这段程序:

data try;
input name : $100. ;
cards;
哈密巴里坤县红十字会门诊部
哈密巴里坤县人民医院
宿城区屠园医院
山西焦煤集团西山煤矿总公司古交矿区总医院屯兰分院
徐州祥和老年病康复医院
徐州协和老年病医院
郑州仁和老年病医院
;
run;

proc sql;
select name
from work.try
where name like '%屠%';
quit;

预想中应该只显示"宿城区屠园医院",结果实际都显示了.我用的是SAS8英文版,而且只能使用这个版本.如何在这个版本中消除以上错误呢?
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2009-3-14 10:10:14 | 只看该作者

Re: 紧急求助: SAS的中文处理问题 (有实例)

data try;
input name : $100. ;
cards;
"哈密巴里坤县红十字会门诊部"
"哈密巴里坤县人民医院"
"宿城区屠园医院"
"山西焦煤集团西山煤矿总公司古交矿区总医院屯兰分院"
"徐州祥和老年病康复医院"
"徐州协和老年病医院"
"郑州仁和老年病医院"
;
run;

DATA RESULTS;
  SET TRY;
  DO I=2 TO 98 BY 2;
          IF SUBSTR(NAME,I,2)="屠" THEN DO;
                OUTPUT;
        END;
  END;
  DROP;
RUN;

PROC PRINT DATA=RESULTS;
RUN;
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2009-3-30 15:24:45 | 只看该作者

Re: 紧急求助: SAS的中文处理问题 (有实例)

你试试
if index (name, "屠") ne 0 then output

应该OK吧。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2009-3-30 21:41:29 | 只看该作者

Re: 紧急求助: SAS的中文处理问题 (有实例)

9版本里面没有发现其他的记录……
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2026-2-5 12:22 , Processed in 0.245268 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表