2015年5月27日水曜日

NLDATM関数で、日時値を好きな書式で文字変換する。


以下の2つとセットの記事です。
NLDATE関数で、日付値を好きな書式で文字変換する。
NLTIME関数で、時間値を好きな書式で文字変換する。


NLDATM関数を使うと、
日時値に対して、好みの区切り文字を設定して、文字に変換できます。

構文
 NLDATM( 対象変数, 'ディスクリプタによる変換方法を指定' )

ディスクリプタ
 %Y  …  4桁の年
 %y  …  2桁の年
 %m  …  月
 %d  …  日

 %H …  時間(24時間表記)
 %I   … 時間(12時間表記)
 %M …  分
 %S …  秒

・ディスクリプタは大文字・小文字の違いに注意して下さい。
(例えば「%Y」と「%y」)
・第2引数はシングルクォーテーションで囲む(ダブルクォーテーションはNG)



data DT1;

  length VAR2 $50.;
  VAR = input('2014/01/04 15:20:00', ymddttm.);

  * 「2014年01月04日 15時20分00秒」 という文字に変換;
  VAR2 = nldatm( VAR , '%Y年%m月%d日 %H時%M分%S秒' ) ;
run;



上の例では月や日、秒などの頭に0がついてます。
0を取りたい場合、以下のように「%」の後に「#」を入れてやります。

data DT2;
  length VAR3 $50.;
  set DT1;

  * 「2014年1月4日 15時20分0秒」 という文字に変換;
  VAR3 = nldatm( VAR , '%Y年%#m月%#d日 %#H時%#M分%#S秒' ) ;
run;


0 件のコメント:

コメントを投稿