2010-11-03 5 views

Répondre

1

Une façon est de convertir la date à un horodatage unix. Un timestamp unix est le nombre de secondes écoulées depuis le 1er janvier 1970. Ensuite, vous pouvez prendre le modulo de 15 * 60 pour donner le nombre de secondes après les 15 dernières minutes.

Par exemple, en utilisant l'heure actuelle now():

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

Imprime 20:00 pour moi (il est 20h08 ici.)

1

On dirait que vous voulez appliquer un format à la composante minute une valeur datetime.

L'aide de SAS, vous pouvez essayer quelque chose comme:

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; 

Ceci est juste rapide et sale, vous pouvez l'adapter à vos besoins. Le principe est que nous créons simplement un format d'affichage pour montrer une valeur avec un certain format qui lui est appliqué. J'ai créé séparément la variable 'b', qui est juste le composant minute du datetime, puis dans la variable 'c' j'applique le format.

hth.

Questions connexes