Não exatamente, o
DATE
tipo de dados não tem um formato; ele é armazenado internamente em tabelas como 7 bytes (ano é 2 bytes e mês, dia, hora, minuto e segundo são 1 byte cada). A interface do usuário que você está usando (ou seja, SQL/PLUS, SQL Developer, Toad, etc.) lidará com a formatação de um DATE
de seu formato binário para um formato legível por humanos. No SQL/Plus (ou SQL Developer), esse formato é baseado no NLS_DATE_FORMAT
parâmetro de sessão
. Se a
DATE
é inserido usando apenas o dia, mês e ano, então o componente de tempo (provavelmente) será definido como 00:00:00
(meia-noite). Supondo que o componente de tempo para sua coluna DOJ seja sempre meia-noite, então:
SELECT COUNT(*)
FROM students
WHERE doj = TO_DATE( your_param, 'dd/mm/yyyy' )
Se nem sempre é meia-noite, então:
SELECT COUNT(*)
FROM students
WHERE TRUNC( doj ) = TO_DATE( your_param, 'dd/mm/yyyy' )
ou:
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