Niezupełnie, DATE
typ danych nie ma formatu; jest przechowywany wewnętrznie w tabelach jako 7-bajtów (rok ma 2 bajty, a miesiąc, dzień, godzina, minuta i sekunda mają po 1 bajt). Używany interfejs użytkownika (np. SQL/PLUS, SQL Developer, Toad itp.) obsługuje formatowanie DATE
z formatu binarnego do formatu czytelnego dla człowieka. W SQL/Plus (lub SQL Developer) ten format jest oparty na NLS_DATE_FORMAT
parametr sesji
.
Jeśli DATE
jest wprowadzany przy użyciu tylko dnia, miesiąca i roku, wtedy składnik czasu zostanie (prawdopodobnie) ustawiony na 00:00:00
(północ).
Zakładając, że składnik czasu dla Twojej kolumny DOJ to zawsze północ, to:
SELECT COUNT(*)
FROM students
WHERE doj = TO_DATE( your_param, 'dd/mm/yyyy' )
Jeśli nie zawsze jest północ, to:
SELECT COUNT(*)
FROM students
WHERE TRUNC( doj ) = TO_DATE( your_param, 'dd/mm/yyyy' )
lub:
SELECT COUNT(*)
FROM students
WHERE doj >= TO_DATE( your_param, 'dd/mm/yyyy' )
AND doj < TO_DATE( your_param, 'dd/mm/yyyy' ) + INTERVAL '1' DAY