sql >> Databasteknik >  >> RDS >> Oracle

Oracle TO_DATE kastar INTE fel

Se tabellen här:https://docs. oracle.com/cd/B28359_01/server.111/b28286/sql_elements004.htm#g195479

Det är en del av avsnittet String-To-Date Conversion Rules i formatmodellen Datetime. I fallet MM om det inte finns någon matchning, försöker den efter MON och MONTH . På samma sätt om du anger MON och den hittar inte det, den försöker MONTH . Om du anger MONTH och den kan inte hitta det, den försöker MON , men det kommer aldrig att försöka MM på allt utom MM .

Som svar på frågan:Can I turn it off? Svaret är ja.

Du kan göra det genom att ange FX som en del av din formatering.

SELECT TO_DATE('18/february/2016', 'FXDD/MM/YYYY') FROM dual;

Returnerar nu:

Följande:

SELECT TO_DATE('18/02/2016', 'FXDD/MM/YYYY') FROM dual;

Returnerar det förväntade:

Observera att när du anger FX du MÅSTE använd rätt separatorer annars kommer det att bli fel.



  1. Sqlite3 - Hur man importerar NULL-värden från csv

  2. Postgresql - Hur snabbar man upp för uppdatering av enorm tabell (100 miljoner rader)?

  3. Att fråga flera gånger i Oracle med perl returnerar endast den första frågan

  4. Hur hittar man ett tidsdelta för en datatidsrad i mysql?