En fråga som gäller hur man uppdaterar datum i en Oracle databas. Hej. Tack för tipset! Oracle och datum
I nuläget kan jag skriva som följer
UPDATE T
SET START_DATE = '12-OCT-02'
WHERE ....
Men, nu vill jag även uppdatera tiden och man får då skriva
UPDATE T
SET START_DATE = TO_DATE('DD-MON-YY HH:MM:SS AM' ,'12-OCT-02 11:20:00 PM')
WHERE ....
Kan man ändra på inställningarna i Oracle så att man kan skriva utan TO_DATE
UPDATE T
SET START_DATE = '12-OCT-02 11:20:00 PM'
WHERE ....
Skälet att jag inte vill skriva TO_DATE är att vi har en massa kod som vi helst inte vill ändra.
-MagnusSv: Oracle och datum
Jag har provat lite men inte fått det att fungera perfekt.
Du får labba lite.
Det går att sätt init parametern NLS_DATE_FORMAT i init.ora filen.
Ex : NLS_DATE_FORMAT = "YYYY-MM-DD HH:MI:SS AM"
Det är detta som jag inte fått att fungera riktigt.
Denna parameter finns även i registryt om man kör Windows.
Jag har inte haft möjlighet att labba så mycket med denna
variant pga att jag kanske ställer till det för våra utvecklare.
Ett annat sätt som jag fått att fungera är detta :
Efter inloggning, om du har möjlighet att göra denna ändring
i din kod, är att köra detta :
ALTER SESSION SET NLS_DATE_FORMAT = "YYYY-MM-DD HH:MI:SS AM";
Lycka till
/UffeSv: Oracle och datum
Satt och provade lite och mycket riktigt fungerade det med att ändra till annat datumformat. Är dock lite tveksam till att ändra formatet i db, innebär att vi kommer att bygga in mycket beroende i vår kod som baseras på att visst utseende på en datumkolumner i db. Kommer vi köra applikationen i fler länder än USA kan det bli problem framöver.
-Magnus