Forudsat date_enter er en DATE felt:
Select * From Customer_Rooms CuRo
Where CuRo.Date_Enter >= trunc(sysdate)
And CuRo.Date_Enter < trunc(sysdate) + 1;
trunc() funktion fjerner tidsdelen som standard, så trunc(sysdate) giver dig midnat i morges.
Hvis du især vil holde dig til between , og du har en DATE ikke en TIMESTAMP , du kunne gøre:
Select * From Customer_Rooms CuRo
Where CuRo.Date_Enter between trunc(sysdate)
And trunc(sysdate) + interval '1' day - interval '1' second;
between er inklusiv, så hvis du ikke tager et sekund fri, vil du potentielt hente plader fra præcis midnat i aften; så dette genererer den 23:59:59-tid, du ledte efter i din oprindelige forespørgsel. Men ved at bruge >= og < er lidt klarere og mere eksplicit, efter min mening i hvert fald.
Hvis du er sikker på, at du alligevel ikke kan have datoer senere end i dag, tilføjer den øvre grænse ikke rigtig noget, og du vil få det samme resultat med blot:
Select * From Customer_Rooms CuRo
Where CuRo.Date_Enter >= trunc(sysdate);
Du ønsker ikke at bruge trunc eller to_char på date_enter kolonne dog; brug af en funktion forhindrer et indeks på den kolonne i at blive brugt, hvilket er grunden til din forespørgsel med to_char var for langsom.