2016-05-26 14 views
-1

私は何か非常にシンプルだが、悲惨に失敗しようとしている。DATETIME18を使用して既存の変数から月番号の変数を作成します。 SASのinformat

SASクエリビルダを使用して、既存の日付変数に基づいて、月番号で新しい変数を作成したいとします。

私は変更したい私の変数の例は、このです:2015年7月1日0時

だから、私はそれで数1で新しい変数を作成したいです。

私の既存の変数は、インフォメーションDATETIME18を持っています。

だから私は、次のことを試してみました:上記のいずれもが、新しい変数を作成

month(t1.My_Date) 
month(t1.My_Date, 'DATETIME18.') 

が、すべてのフィールドが空です。

だから私は、月の機能を使用し、時間要素&を削除するには、変数のinformatを変更すると思ったので、私が試した:

MDY(t1.Issue_Date, 'DATETIME18.', 'DATEw.') 

しかし、私は、次のエラーを取得: ERROR:関数MDYは数値が必要です式を引数2として使用します。 エラー:関数MDYは引数3として数値式を必要とします。

アイデアはありますか?私は基本的に、変数にDATETIME18があるときに月の数値を変数から取り出す必要があります。インフォーマット。事前に

おかげ ポール

+0

あなたはドキュメントを見たことがありますか? 'mdy()'は書式とは関係ありません。 – Joe

答えて

3

あなたの変数は、日時であるとmonth()機能は、日付で動作します。 month()を使用する前datepart()機能を使用します。

month(datepart(t1.My_Date)) 
+0

ありがとう、まさに私が望んでいたことです。 :) – Paul

関連する問題