2015年5月27日水曜日

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


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


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

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

ディスクリプタ
 %H …  時間(24時間表記)
 %I   … 時間(12時間表記)
 %M …  分
 %S …  秒

・ディスクリプタは大文字・小文字の違いに注意して下さい。
(例えば「%M」を「%m」と記述すると無効な引数として処理が失敗してしまいます)
・第2引数はシングルクォーテーションで囲む(ダブルクォーテーションはNG)


data DT1;
  length A1 - A3 $50.;

  A = '23:05't;
  A1 = nltime(A, '%H時%M分');          /* 23時05分 */
  A2 = nltime(A, '%H時%M分%S秒');  /* 23時05分00秒 */
  A3 = nltime(A, '%I時%M分');           /* 11時05分 */
run;



「23時05分00秒」というように分や秒の頭に0が入ってるので、
これを取りたい場合、「%」の後に「#」を入れてやります。

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

  * 「23時5分0秒」 という文字に変換;
  A4 = nldatm( A , '%#H時%#M%#S秒' ) ;
run;

0 件のコメント:

コメントを投稿