Nicht ganz, das DATE
Datentyp hat kein Format; es wird intern in Tabellen als 7-bytes (Jahr ist 2 Byte und Monat, Tag, Stunde, Minute und Sekunde sind jeweils 1 Byte). Die von Ihnen verwendete Benutzeroberfläche (z. B. SQL/PLUS, SQL Developer, Toad usw.) übernimmt die Formatierung eines DATE
von seinem Binärformat in ein für Menschen lesbares Format. In SQL/Plus (oder SQL Developer) basiert dieses Format auf dem NLS_DATE_FORMAT
Sitzungsparameter
.
Wenn das DATE
nur mit Tag, Monat und Jahr eingegeben wird, dann wird die Zeitkomponente (wahrscheinlich) auf 00:00:00
gesetzt (Mitternacht).
Angenommen, die Zeitkomponente für Ihre DOJ-Spalte ist immer Mitternacht, dann:
SELECT COUNT(*)
FROM students
WHERE doj = TO_DATE( your_param, 'dd/mm/yyyy' )
Wenn es nicht immer Mitternacht ist:
SELECT COUNT(*)
FROM students
WHERE TRUNC( doj ) = TO_DATE( your_param, 'dd/mm/yyyy' )
oder:
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