2016-08-02 11 views
1

タイトルとして私は2016/06/15を日付形式として持つSASにインポートしているExcelファイルを持っています。私はSQLにそれをアップロードすることができますdatetimeに変換する必要があります。SAS - "2016/06/15"をdatetime形式に変換する

2016/06/15をSQL(datetime)にアップロードすると、1960年1月にランダムな日付が付けられます。だから私はSQLがそれに時間を必要とすると推測している。

私が必要とするのは、2016/06/15をSASプログラミングのdatetimeにフォーマットするコードです。

ありがとうございました!

答えて

2

機能dhms()を使用すると、日付をdatetimeに変換できます。例:

data _null_; 
    my_date = date(); 
    my_datetime = dhms(my_date, 0, 0, 0); 
    put my_date date9. 
     my_datetime datetime22.; 
run; 

出力:

02AUG2016 02AUG2016:00:00:00 

あなたはSQLに挿入するODBCパススルーを使用している場合は、それを行う方法についてのヒントについては、この回答(https://stackoverflow.com/a/24044451/214994)を参照してください。

+0

こんにちは、返信ありがとうございます。私がdate()を "06/15/2016"に置き換えた場合、SASデータセットは "2016/06/15"というExcelデータをインポートするときに表示されます。 01JAN1960 01JAN1960:00:00:51 – mitoKon

+0

@mitoKon SASで日付値を作成するには、いくつかの方法があります。最も簡単なのは、 'mdy(6,15,2016)'関数か、日付リテラル '06/15/2016" d "を定義する関数です。日付リテラルの閉じ引用符の後の 'd'に注意してください。 –

+0

申し訳ありません。私はSASでフォーマットするのが本当に悪いです。my_date = "06/05/2016" dを入力しました。と私はエラーが発生します:エラー:無効な日付/時刻/ datetime定数 "06/05/2016" d。 エラー77-185: "06/05/2016"で無効な番号変換d。 – mitoKon

関連する問題