我用一個(gè)getfileinfo的宏,讀取了一個(gè)文件夾下的所有文件列表到SAS的表格
然后想用SQL挑選帶有特定后綴文件名的行,用的是如下的代碼:
proc sql noprint;
create table FileList as
select *,monotonic() as _N_
from FileList_temp
where scan(FileName,-1,'.')='TXT' or
scan(FileName,-1,'.')='CSV';
quit;
現(xiàn)在有個(gè)新任務(wù),就是挑選后綴為YYYYMMDD型日期的文件,比如abc.20111020這樣的
如果還是用上面的方法,該怎么寫SQL中的Where子句呢
我先試著用了scan(FileName,-1,'.')>10000000 and scan(FileName,-1,'.')<20990000這樣簡(jiǎn)單的方法
只是SAS報(bào)錯(cuò)說
ERROR: Expression using greater than (>) has components that are of different data types.
ERROR: Expression using less than (<) has components that are of different data types.
所以想不到其他好的方法了
如果用正則的話,可能就用不到這個(gè)SQL過程了,總的程序可能就不那么簡(jiǎn)潔了
請(qǐng)牛人指教,謝謝!