No del todo, el DATE
el tipo de datos no tiene formato; se almacena internamente en tablas como 7-bytes (año son 2 bytes y mes, día, hora, minuto y segundo son 1 byte cada uno). La interfaz de usuario que está utilizando (es decir, SQL/PLUS, SQL Developer, Toad, etc.) manejará el formato de un DATE
de su formato binario a un formato legible por humanos. En SQL/Plus (o SQL Developer) este formato se basa en NLS_DATE_FORMAT
parámetro de sesión
.
Si la DATE
se ingresa usando solo el día, mes y año, entonces el componente de tiempo (probablemente) se establecerá en 00:00:00
(medianoche).
Suponiendo que el componente de tiempo para su columna DOJ siempre sea medianoche, entonces:
SELECT COUNT(*)
FROM students
WHERE doj = TO_DATE( your_param, 'dd/mm/yyyy' )
Si no siempre es medianoche, entonces:
SELECT COUNT(*)
FROM students
WHERE TRUNC( doj ) = TO_DATE( your_param, 'dd/mm/yyyy' )
o:
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