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

MINDRE END ELLER SIG I Oracle SQL

I Oracle er en DATO et tidspunkt. Den har altid en tidskomponent med en præcision til den anden. todate('08-Jun-2010', 'dd-Mon-yyyy') er i Oracle det samme som todate('08-Jun-2010 00:00:00', 'dd-Mon-yyyy hh24:mi:ss') . Så hvis du vælger rækker op til den dato, vil du ikke få nogen række på den dag med en tidskomponent, der ikke er lig med 00:00 .

Hvis du vil vælge alle rækkerne til og med 08-JUN-2010 , vil jeg foreslå at bruge:

< to_date('09-06-2010', 'dd-MM-yyyy')

eller

<= to_date('08-06-2010 23:59:59', 'dd-MM-yyyy hh24:mi:ss')

Bemærk - Jeg rettede dit datoformat:du skal bruge MON hvis du vil bruge det forkortede månedsnavn. Jeg vil foreslå at bruge MM i stedet, så du ikke får fejl, når nogen ændrer dens klientindstillinger (NLS_DATE_LANGUAGE ). Foretrækker også brugen af ​​YYYY i stedet for YY .



  1. sætnavne vs mysqli_set_charset — udover at påvirke mysqli_escape_string, er de identiske?

  2. Hvordan ændrer jeg alle tabellerne i min database til UTF8-tegnsæt?

  3. DBConcurrency-undtagelse opstod under opdatering ved hjælp af dataadapter

  4. Hvad er den bedste praksis for at begrænse bestemte sider til kun loggede brugere i Codeigniter?