我有一个以 OMX 开头的变量,但我只需要它后面的值。如何创建一个仅具有 OST 之后值的新变量; 示例:OSTN44X8 必须仅变为 N44X8
proc sql;
(Select *
From data01
WHERE RDATE between '2000-11-01' and '2018-02-25'
(SELECT SUBSTR(REP_ID,4) AS ID ) ;
quit;
您可以使用 SUBSTR 返回正确的字符串。在 SAS 中,最后一个参数是可选的,如果跳过它,它会自动从开始到结束检索。
select substr(REP_ID, 4) as ID
如果是 SQL,你的代码看起来会是这样的。您的 SQL 还有其他几个错误,但我会将这些错误留给您来解决。
如果是数据步骤,请改用以下内容:
ID = substr(REP_ID, 4);
你的意思是:
proc sql;
Select *,
SUBSTR(REP_ID,4) AS ID
From data01
WHERE RDATE between '2000-11-01' and '2018-02-25'
;
quit;
?
您可以将 len 函数和 subtr 函数组合在一起来获得结果。
Substr(REP_ID,4,len(REP_ID)-4)
当您想提及时,您只需为表添加别名*
proc sql; Select a.*, SUBSTR(REP_ID,4) AS ID From data01 a WHERE RDATE between '2000-11-01' and '2018-02-25' ; quit;