SAS : Comment utiliser l’opérateur LIKE dans PROC SQL



Vous pouvez utiliser l’opérateur LIKE dans l’instruction PROC SQL dans SAS pour renvoyer les lignes dans lesquelles une variable d’un ensemble de données correspond à un modèle de chaîne.

L’exemple suivant montre comment utiliser l’opérateur LIKE dans la pratique.

Exemple : utilisation de l’opérateur LIKE dans PROC SQL dans SAS

Supposons que nous ayons l’ensemble de données suivant dans SAS qui contient des informations sur divers joueurs de basket-ball :

/*create dataset*/
data my_data;
    input team $ points;
    datalines;
Cavs 12
Cavs 14
Warriors 15
Hawks 18
Mavs 31
Mavs 32
Mavs 35
Celtics 36
Celtics 40
;
run;

/*view dataset*/
proc print data=my_data;

Nous pouvons utiliser l’opérateur LIKE dans PROC SQL pour sélectionner uniquement les lignes où l’équipe contient le modèle « avs » quelque part dans le nom :

/*select all rows where team contains 'avs'*/ 
proc sql;
   select *
   from my_data
   where team like '%avs%';
quit;

Notez que seules les lignes où l’équipe contient « avs » quelque part dans le nom sont renvoyées.

L’opposé de l’opérateur LIKE dans PROC SQL est NOT LIKE , qui sélectionne les lignes dans lesquelles certaines variables d’un ensemble de données ne contiennent pas un certain modèle de chaîne.

Le code suivant montre comment utiliser l’opérateur NOT LIKE pour sélectionner toutes les lignes dont l’équipe ne contient pas « avs » dans le nom :

/*select all rows where team does not contain 'avs'*/
proc sql;
   select *
   from my_data
   where team not like '%avs%';
quit;

Notez que seules les lignes dans lesquelles l’équipe ne contient pas « avs » quelque part dans le nom sont renvoyées.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans SAS :

SAS : Comment utiliser UNION dans PROC SQL
SAS : Comment utiliser EXCEPT dans PROC SQL
SAS : Comment utiliser l’opérateur IN dans PROC SQL
SAS : Comment utiliser l’opérateur WHERE dans PROC SQL

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *