Die Beispiele verwenden generierte Daten (Datalines) oder SASHELP, um temporäre oder In-Memory-Tabellen zu erstellen.
1 Codeblock
DATA STEP Data
Erklärung : Dieses Beispiel veranschaulicht die Erstellung einer VARCHAR-Variable (X) und einer CHAR-Variable (Y) mit einer maximalen Länge von 30 Zeichen/Bytes. Die Variable X speichert die Zeichenkette, ohne Speicherplatz für ungenutzte Zeichen zu verschwenden, während Y immer 30 Bytes zuweist.
Kopiert!
data mycas.ex_base_string;
length x varchar(30);
length y $30;
x = 'Bonjour le monde';
y = 'Bonjour le monde';
run;
proc contents data=mycas.ex_base_string;
run;
1
DATA mycas.ex_base_string;
2
LENGTH x varchar(30);
3
LENGTH y $30;
4
x = 'Bonjour le monde';
5
y = 'Bonjour le monde';
6
RUN;
7
8
PROC CONTENTSDATA=mycas.ex_base_string;
9
RUN;
2 Codeblock
DATA STEP Data
Erklärung : Dieses Beispiel zeigt den Unterschied in der Handhabung von Multibyte-Zeichen (wie 'ã' in UTF-8) zwischen VARCHAR und CHAR. Die Variable 'ville_char' mit einer Länge von 10 Bytes könnte abgeschnitten werden, wenn die Multibyte-Zeichen die Byte-Grenze überschreiten, während 'ville_varchar' mit einer Länge von 10 Zeichen sich korrekt anpasst und die vollständige Zeichenkette speichert, wenn ihre Zeichenlänge eingehalten wird, unabhängig von der Byte-Größe.
Kopiert!
options encoding='utf-8';
data mycas.ex_troncature;
length ville_varchar varchar(10);
length ville_char $10;
ville_varchar = 'São Paulo'; /* 9 caractères, mais 'ã' est multi-octets en UTF-8 */
ville_char = 'São Paulo';
output;
run;
proc print data=mycas.ex_troncature;
title 'Comparaison VARCHAR et CHAR avec caractères multi-octets';
run;
proc contents data=mycas.ex_troncature;
run;
1
options encoding='utf-8';
2
3
DATA mycas.ex_troncature;
4
LENGTH ville_varchar varchar(10);
5
LENGTH ville_char $10;
6
7
ville_varchar = 'São Paulo'; /* 9 caractères, mais 'ã' est multi-octets en UTF-8 */
8
ville_char = 'São Paulo';
9
10
OUTPUT;
11
RUN;
12
13
PROC PRINTDATA=mycas.ex_troncature;
14
title 'Comparaison VARCHAR et CHAR avec caractères multi-octets';
15
RUN;
16
17
PROC CONTENTSDATA=mycas.ex_troncature;
18
RUN;
3 Codeblock
DATA STEP Data
Erklärung : Dieses Beispiel zeigt, wie VARCHAR-Variablen manipuliert werden. Es verwendet die Funktion `SUBSTR`, um einen Substring aus einer VARCHAR-Variable zu extrahieren, und die Funktion `CATX`, um mehrere Elemente (einschließlich einer anderen VARCHAR-Variable) zu einer neuen VARCHAR-Variable zu verketten. Dies veranschaulicht die Flexibilität des VARCHAR-Typs bei der Manipulation von Zeichenketten.
Erklärung : Dieses fortgeschrittene Beispiel veranschaulicht die Erstellung einer Tabelle direkt in der CAS-Umgebung ('mycas' ist ein CAS-Libname) mit VARCHAR-Variablen. Es zeigt, wie die Längen von VARCHARs auch bei potenziell sehr langen Zeichenketten eingehalten werden, ohne sichtbares Abschneiden in der Anzeige zu verursachen, solange die deklarierte Zeichengrenze ausreicht. Die Verwendung von `proc contents` bestätigt die effektiven Typen und Längen in CAS. Es unterstreicht die natürliche Integration von VARCHARs in verteilte In-Memory-Operationen in Viya.
Kopiert!
/* Assurez-vous d'avoir une session CAS active */
cas mycas;
/* Crée une table CAS avec une variable VARCHAR */
data mycas.clients;
length client_id varchar(15) client_nom varchar(100);
client_id = 'C001';
client_nom = 'Dupont Martin';
output;
client_id = 'C002';
client_nom = 'Marie Dubois avec un nom très très long qui dépasse 100 caractères si on ne fait pas attention';
output;
run;
/* Affiche le contenu de la table CAS */
proc print data=mycas.clients;
title 'Clients avec VARCHAR en CAS';
run;
/* Vérifie la structure de la table CAS avec PROC CONTENTS */
proc contents data=mycas.clients;
title 'Contenu de la table CAS avec VARCHAR';
run;
/* Utilise PROC CASUTIL pour télécharger la table CAS vers une libname SAS */
/* Cela n'est pas nécessaire pour l'utilisation directe en CAS, mais montre l'interopérabilité */
/* proc casutil;
load casdata='clients' incaslib='mycas' outcaslib='casuser' replace;
run; */
/* Fin de la session CAS (facultatif, selon la gestion de la session) */
/* cas mycas terminate; */
1
/* Assurez-vous d'avoir une session CAS active */
2
cas mycas;
3
4
/* Crée une table CAS avec une variable VARCHAR */
/* Fin de la session CAS (facultatif, selon la gestion de la session) */
33
/* cas mycas terminate; */
Dieses Material wird von We Are Cas "wie besehen" zur Verfügung gestellt. Es gibt keine ausdrücklichen oder stillschweigenden Garantien hinsichtlich der Marktgängigkeit oder Eignung für einen bestimmten Zweck in Bezug auf die hierin enthaltenen Materialien oder Codes. We Are Cas ist nicht verantwortlich für Fehler in diesem Material, wie es jetzt existiert oder existieren wird, noch bietet We Are Cas technischen Support dafür an.
SAS und alle anderen Produkt- oder Dienstleistungsnamen von SAS Institute Inc. sind eingetragene Marken oder Marken von SAS Institute Inc. in den USA und anderen Ländern. ® zeigt die Registrierung in den USA an. WeAreCAS ist eine unabhängige Community-Site und nicht mit SAS Institute Inc. verbunden.
Diese Website verwendet technische und analytische Cookies, um Ihre Erfahrung zu verbessern.
Mehr erfahren.