Pas tout à fait, la DATE
le type de données n'a pas de format ; il est stocké en interne dans des tables sous la forme 7-bytes (l'année est de 2 octets et le mois, le jour, l'heure, la minute et la seconde sont de 1 octet chacun). L'interface utilisateur que vous utilisez (c'est-à-dire SQL/PLUS, SQL Developer, Toad, etc.) gérera le formatage d'une DATE
de son format binaire à un format lisible par l'homme. Dans SQL/Plus (ou SQL Developer), ce format est basé sur le NLS_DATE_FORMAT
paramètre de session
.
Si la DATE
est entré en utilisant uniquement le jour, le mois et l'année, alors le composant de temps va (probablement) être réglé sur 00:00:00
(minuit).
En supposant que le composant horaire de votre colonne DOJ est toujours minuit, alors :
SELECT COUNT(*)
FROM students
WHERE doj = TO_DATE( your_param, 'dd/mm/yyyy' )
S'il n'est pas toujours minuit, alors :
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