2010-11-03 110 views
2

是否有任何人知道PROC SQL或數據步驟具有這樣的功能,我可以日期時間值轉換爲:15分鐘例如間隔:分鐘間隔或PROC SQL

03NOV2010:00:00:02 --> 0-15 
03NOV2010:00:16:02 --> 15-30 

回答

1

的一種方法是將轉換日期爲一個unix時間戳。 unix時間戳是1970年1月1日以來的秒數。然後,您可以採用15 * 60的模數來給出最後15分鐘標記後的秒數。

例如,使用當前時間now()

select now() - interval unix_timestamp(now())%(15*60) second 

這將打印20:00對我來說(這是這裏日20:08)

1

聽起來像是你想要的格式適用於分鐘部分日期時間值。

使用SAS,你可以嘗試這樣的:

proc format; 
    value min15int 
    00-15 = "00-15" 
    15<-30= "16-30" 
    30<-45= "31-45" 
    45<-60= "46-60"; 
run; 

data test; 
    a='03NOV2010:00:00:02'dt;output; 
    a='03NOV2010:00:16:02'dt;output; 
run; 

data test2; 
    set test; 
    b=minute(a); 
    c=b; 
    format c min15int.; 
run; 

這只是快速和骯髒的,你可以把它適應您的要求。原則是我們只是創建一個顯示格式來顯示一個適用於它的特定格式的值。我已經分別創建了變量'b',它只是日期時間的分鐘部分,然後在變量'c'中我正在應用格式。

hth。