比方说
proc sql;
create table test
as select *
from ABC
where x like '[B-C]%';
quit;
运行后无错误提示,但是无法实现sql中[]通配符的实现
请教各位大神,如何在proc sql 中实现[]这样的通配符功能?万分感谢!急急急!
————————————————————————————————————比如下面的代码,想实现的是将a表中开头为B到J的数据提取出来,但在proc sql中where x like '[B-J]%'被认为是筛选以[B-J]开头的数据,而不是筛选B到J开头的数据。这与SQL中不一样。
- data a;
- input x $;
- cards;
- B120922
- C239878
- C278392
- E783986
- D094893
- T984892
- R094909
- D894729
- H849303
- A783020
- ;
- run;
- proc sql;
- create table b
- as select *
- from a
- where x like '[B-J]%';
- quit;
产品 | 料件编码 | |
A产品 | 7213-7215,7221,72221-72223,7227,72281-72286,72288 |
比方说,我要处理的是一个各种产品与料件编码对应的参数表。上表的含义是,A产品是指对应8位料件编码前几位为表中范围的产品。这个参数表包含的产品很多且需要经常维护。
如何根据上面的参数表转换为根据料件编码的范围筛选不同种类产品?我不知道语句在SAS如何实现。
如果sql中的[]通配符可以使用的话,则对表中逗号进行替换为 ]%' OR x like '[ ,然后在将替换后的条件在宏中加以引用就可以了。但现在[]通配符在SAS中实现不了,我就不知道应该如何处理了。
不知道SAS中是不是有更简便的语句来直接实现?万分感谢!