2012-08-25 12 views
13

trzeba wyświetlić niektóre dane, jeżeli jest to - nowe dane - uaktualnione dane powiedzmy, będę opierając te dane z kolumny publishdate i aktualizowana kolumna gdzie publishdate i updateddate są zarówno sygnatury czasowe? . więc jak obliczyć datę, jeśli jest nowa?oracle data sql nie później niż dzisiaj

+0

Nie jest jasne, czego chcesz. Czy możesz opisać lepiej? – codingbiz

+0

Mam kolumnę daty publikacji i chcę wyświetlić dane, które są publikowane w ciągu tego dnia, a nie te, które zostały opublikowane wczoraj, ani wcześniej. – sasori

Odpowiedz

34

Przez ostatnie 24 godziny:

Where publish_date >= sysdate -1 

lub w dowolnym momencie dzisiaj (o północy do przodu)

where publish_date >= trunc(sysdate) 

Jeśli jest duży stół, Zakładam, że masz indeksu na Data publikacji. Jeśli użyjesz skrótu (publish_date), może nie być możliwe korzystanie z indeksu (nietestowane, ale upewnij się, że masz plan wyjaśniający).

+1

wuhuuuu! działa idealnie +1 –

+0

sysdate -1 ... nice: D – GedankenNebel

8

Spróbuj

Where TRUNC(sysdate) = TRUNC(publish_date) 

sysdate powraca dzisiejszą datę z czasem. TRUNC usuwa Part Time

+0

Nie chcę zepsuć wartości -1, ale jako @tbone wyjaśniono, używając 'TRUNC (publish_date) 'jest prawdopodobnie złym pomysłem i zabójcą wydajności w tej sytuacji –

Powiązane problemy