sql >> Databasteknik >  >> RDS >> Oracle

Oracle Få bara tid från To_Date() i en fråga?

TO_DATE('08:35:42 AM','HH:MI:SS PM')

Anledningen till att detta inte fungerar är att detta inte är ett fullständigt datum. Även när du använder en to_date('07/12/2011','MM/DD/YYYY'), lagrar Oracle datum och tid, men gör alla komponenter i tiden NOLL. Så det faktiska lagrade datumet är 2011-07-12 HH:MI:SS

Om du vill lagra tidskomponenten separat, bör det vara ett varchar-fält och du måste lägga till det i datumdelen för att få det fullständiga datumet. Exempel..

Select to_date(
          to_char(date_field_stored_as_date,'DD-MON-YYYY') || 
          ' ' ||
          to_char(time_field_stored_as_varchar),
         'DD-MON-YYYY HH24:MI:SS'    
       )


  1. Skriva ut en tabell horisontellt istället för vertikalt med PHP

  2. Hur skapar man en fråga i MySQL för att subtrahera på varandra följande rader baserat på datum och ett distinkt fält?

  3. Hur man installerar Oracle på en Mac

  4. Varför returnerar password_verify falskt?