2016-04-07 12 views
1

SYSDATE'in nasıl düzeltileceği hakkında herhangi bir fikir.Sadece SYSDATE kadar yuvarlak ama SAAT. SQL ORACLE

Örneğin, sysdate şu anda 11.31, ve ben o 12.00 yuvarlanacak istiyorum ama çıkış sadece 12 olmasını bekliyoruz, SysDate 11.29 ise, çıkış 11 olduğunu.

Teşekkür

+0

böylece bir sonraki saate yuvarlamak istersiniz - sadece 30 dk. – Hogan

+0

@Hogan bu doğru. 30 dakika sonra –

cevap

1
ROUND((SYSDATE-TRUNC(SYSDATE))*24) 

Açıklama: TRUNC 2 parametre olmadan güncel tarihten itibaren 00:00:00 zaman yapar. Çıkarma ile farkı (gün olarak) alırız, sonra saatlere ve turlara kadar ölçeklendiririz.

+0

çalışır. Teşekkürler. –

+0

@MarioAlexander 23:31 00 yerine 24 üretecek. – dcieslak

1

Kullanım ROUND fonksiyonu ve bu TO_CHAR sonra.

select to_char(round(to_date('11:31','hh24:mi'), 'HH'), 'HH24') from dual 

-> 12 

select to_char(round(to_date('11:29','hh24:mi'), 'HH'), 'HH24') from dual 

-> 11 
İlgili konular