今回はUPCASE関数について解説します。
/* upcase */
data data1;
Id1=1111; char1="US"; char2="aaa";
output;
Id1=2222; char1="Us"; char2="aaa";
output;
Id1=3333; char1="uS"; char2="aaa";
output;
Id1=4444; char1="us"; char2="aaa";
output;
Id1=5555; char1="1"; char2="aaa";
output;
Id1=6666; char1=""; char2="aaa";
output;
run;
data data2;set data1;
char2 = upcase(char1);
run;


- upcaseにより文字列の中身を大文字化できる。
- 部分的に大文字、小文字でも全て大文字化する。
/* 変換元数値型 */
data data1;
Id1=1111; char1=111; char2="aaa";
output;
run;
data data2;set data1;
char2 = upcase(char1);
run;


- upcaseにより文字列の中身を大文字化できる。
- 変換元の変数が数値型の時は、変換後の変数内は欠損値となる。
/* 変換先数値型 */
data data1;
Id1=1111; char1="aaa"; char2=111;
output;
run;
data data2;set data1;
char2 = upcase(char1);
run;


- upcaseにより文字列の中身を大文字化できる。
- 変換先の変数が数値型の時は、変換後の文字列を入れる事ができないため、Nullとなる。
/* 変換元数値型、変換先数値型 */
data data1;
Id1=1111; char1=111; char2=111;
output;
run;
data data2;set data1;
char2 = upcase(char1);
run;


- upcaseにより文字列の中身を大文字化できる。
- 変換前、変換後両方とも数値型のときは、変化が無い。
/* if文 */
data data1;
Id1=1111; char1="US";
output;
Id1=2222; char1="Us";
output;
Id1=3333; char1="uS";
output;
Id1=4444; char1="us";
output;
Id1=5555; char1="1";
output;
Id1=6666; char1="";
output;
run;
data data2;set data1;
if upcase(char1) = "US";
run;


- upcaseにより文字列の中身を大文字化できる。
- if文の条件としても使える。