2016-11-17 18 views
0

た後、私はサブ時間に、以下の方法を試してみてください。SAS:SASでのサブストリング時間10長

HH = substrn(Time,1,2); MM = substrn(Time,4,2); SS = substrn(Time,7,2); MSS = substrn(Time,10,3); 

しかし、SASはすなわち、最後の3桁の数字でなければなりません最後の部分(MSS)を参照してくださいしませんミリ秒。 time変数の形式はtime20.3です。長さが8であることを示しています。 長さの欠陥だと思いますが、どうすれば10に増やすことができますか?私はそれが非数値変数のためにどのように動作するかだけを知っています。

最高、M

答えて

0

TIMEの形式がTIME20.3の場合は、数値変数です。 SASはすべての数値を64ビットの浮動小数点として保存するため、数値変数では10の記憶長は不可能です。

関数を使用してパーツを取得するだけです。

hour = hour(time); 
minute = minute(time); 
second = second(time); 
milliseconds = 1000*(time - int(time)); 

文字に変換しないと、SASは自動的にBEST12を使用して変換します。代わりにフォーマット。したがって、'09:26:47.543'のような値の代わりに'34007.542699'のような値が表示されます。

VVALUE()関数を使用して、書式設定された値またはPUT()関数を表示できます。