Osobiście lubię stosując jedną sekundę przed północą.Między innymi, jeśli używasz timestamp
, istnieje możliwość, że wartość, którą porównasz, znajdzie się pomiędzy przerwami (tj. 23: 59: 59.1). Ponieważ tego rodzaju logika jest zwykle używana jako granica dla warunku zasięgu, sugeruję użycie "mniej niż północ", niż "mniej niż jedną sekundę przed północą", jeśli w ogóle jest to możliwe. Składnia tego również się upraszcza. Na przykład, aby uzyskać zakres czasowy, który reprezentuje „dzisiaj”, można zastosować jedną z następujących czynności:
date_value >= trunc(sysdate) and date_value < trunc(sysdate) + 1
date_value >= trunc(sysdate) and date_value < trunc(sysdate) + interval '1' day
To trochę bardziej kłopotliwe niż przy użyciu between
, ale zapewnia, że nigdy nie mają wartości, które wykraczają poza zakresu, który rozważasz.
Niejasności należy rozwiązywać z osobą, dla której wykonuje się tę pracę. –