今回はINPUTについて解説します。
/*8桁*/
data work.a;
a = input("20061228", 8.);
run;

- 文字型⇒数値型への変換はinputを使う。
- 文字型”20061228″⇒数値型20061228になっている。
- 8.で8桁入っている。
/*9桁*/
data work.a;
a = input("200612288", 8.);
run;

- 文字型⇒数値型への変換はinputを使う。
- 文字型”200612288″⇒数値型20061228になっている。
- 8.で8桁入っている。
- 8桁しか入らないため、最後の8は落ちている。
/*7桁*/
data work.a;
a = input("2006122", 8.);
run;

- 文字型⇒数値型への変換はinputを使う。
- 文字型”2006122″⇒数値型2006122になっている。
- 8.で8桁入っている。
/*数値8桁*/
data work.a;
a = input(20061228, 8.);
run;

- 文字型⇒数値型への変換はinputを使う。
- 数値型20061228⇒数値型2006になっている(?)
- inputは元々が数値型の場合には対応していない。
/*数値16桁*/
data work.a;
a = input(2006122820061228, 8.);
run;

- 文字型⇒数値型への変換はinputを使う。
- 数値型2006122820061228⇒数値型2.006122になっている(?)
- inputは元々が数値型の場合には対応していない。
/*数値に変換できない1*/
data work.a;
a = input("b", 8.);
run;

- 文字型⇒数値型への変換はinputを使う。
- 文字型”b”⇒数値型NULLになっている。
- 数値に変換できない文字列の場合は中身がNULLになる。
/*数値に変換できない2*/
data work.a;
a = input("あいうえお", 8.);
run;

- 文字型⇒数値型への変換はinputを使う。
- 文字型”あいうえお”⇒数値型NULLになっている。
- 数値に変換できない文字列の場合は中身がNULLになる。
/*数値+日本語*/
data work.a;
a = input("123あいうえお", 8.);
run;

- 文字型⇒数値型への変換はinputを使う。
- 文字型”123あいうえお”⇒数値型NULLになっている。
- 一部でも数値に変換できない文字列がある場合には中身はNULLになる。
/*007*/
data work.a;
a = input("007", 8.);
run;

- 文字型⇒数値型への変換はinputを使う。
- 文字型”007″⇒数値型7になっている。
- 数値で007にできないため、7になる。
/*変数に数値*/
data work.a;
b = "007";
c = input(b, 8.);
run;

- 文字型⇒数値型への変換はinputを使う。
- 文字型”007″⇒数値型7になっている。
- 数値で007にできないため、7になる。
- inputには変数bを設定できる。
/*best.8桁*/
data work.a;
a = input("20061228", best.);
run;

- 文字型⇒数値型への変換はinputを使う。
- 文字型”20061228″⇒数値型20061228になっている。
- best.により最適化され、8桁入っている。
/*best.9桁*/
data work.a;
a = input("200612288", best.);
run;

- 文字型⇒数値型への変換はinputを使う。
- 文字型”200612288″⇒数値型200612288になっている。
- best.により最適化され、9桁入っている。
/*best.7桁*/
data work.a;
a = input("2006122", best.);
run;

- 文字型⇒数値型への変換はinputを使う。
- 文字型”2006122″⇒数値型2006122になっている。
- best.により最適化され、7桁入っている。