sql >> Database teknologi >  >> RDS >> Oracle

Oracle-datosammenligning i where-klausulen

Ikke helt, DATE data-type har ikke et format; den er gemt internt i tabeller som 7-bytes (år er 2 byte og måned, dag, time, minut og sekund er 1 byte hver). Den brugergrænseflade du bruger (dvs. SQL/PLUS, SQL Developer, Toad osv.) vil håndtere formateringen af ​​en DATE fra dets binære format til et menneskeligt læsbart format. I SQL/Plus (eller SQL Developer) er dette format baseret på NLS_DATE_FORMAT sessionsparameter .

Hvis DATE er indtastet ved kun at bruge dag, måned og år, vil tidskomponenten (sandsynligvis) blive sat til 00:00:00 (midnat).

Forudsat at tidskomponenten for din DOJ-kolonne altid er midnat, så:

SELECT COUNT(*)
FROM   students
WHERE  doj = TO_DATE( your_param, 'dd/mm/yyyy' )

Hvis det ikke altid er midnat, så:

SELECT COUNT(*)
FROM   students
WHERE  TRUNC( doj ) = TO_DATE( your_param, 'dd/mm/yyyy' )

eller:

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


  1. MySQL kontrollere om en IP-adresse er inden for rækkevidde?

  2. MySQL med japanske tegn

  3. Trin til implementering af hashable i PHP og Mysql

  4. Bedste SQL-gendannelsesværktøj til 2020 til at gendanne afgørende SQL-database