簡體   English   中英

如何在 SAS 中的 proc sql 查詢中的 select 列名稱“startwith”

[英]How to select column name “startwith” in proc sql query in SAS

我正在尋找一種方法來 select 所有以特定字符“開頭”的列名稱。 我的數據多次包含相同的列名,最后有一個數字,我希望代碼始終為 select 所有列,而不考慮最后一個數字。

例如,如果我的列名中有 3 種蘋果,則數據集將包含列:“apple_1”、“apple_2”和“apple_3”。 因此,我想 select 在 proc sql 語句中以“apple_”開頭的所有列。

謝謝

在常規 SAS 代碼中,您可以使用:作為通配符來創建變量列表。 您通常不能在 SQL 代碼中使用變量列表,但您可以在數據集選項中使用它們。

proc sql ;
create table want as 
select *
from mydata(keep= id apple_: )
;
quit;

like使用:

proc sql;
    select t.*
    from t
    where col like 'apple%';

如果您還想要_字符,則需要使用ESCAPE子句,因為_LIKE的通配符:

proc sql;
    select t.*
    from t
    where col like 'apple$_%' escape '$';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM