INPUT SAS

【SAS】INPUTは文字型を数値型に変換する

投稿日:2021年10月24日 更新日:

今回は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桁入っている。

-INPUT, SAS

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

【SAS】TRANSPOSEは縦持ち、横持ちを変換できる。その1

今回はTRANSPOSEについて解説します。 /* num char char */ data data1; NO=1111; CHAR=”A”; MOJI=”AAAA”; output; NO=22 …

【SAS】DISTINCTは重複をユニークにする。【SQL】

今回はSQL文のDISTINCTについて解説します。 /* Id1 */ data data1; Id1=1111; Id2=1111; Id3=1111; Id4=1111; output; Id1 …

【SAS】TRIM関数は文字列の連結時に末尾のスペースを除去できる。

今回はTRIM関数について解説します。 /* trim */ data data1; Id1=1111; Char1=”AA AA”; output; Id1=2222; Char1=” BBBB”; …

【SAS】&SYSUSERID.はログインIDを取得する自動マクロ変数

今回は&SYSUSERID.について解説します。 /* &sysuserid. */ %put &sysuserid.; &sysuserid.はログインIDを自動マク …

【SAS】足し算。その2(SUM関数を用いた計算)

今回はSUM関数を用いた足し算について解説します。  (前回は+演算子を用いた足し算について解説しました。⇒【SAS】足し算。その1(+演算子を用いた計算)) /* sum */ data …