Nej det är det inte. Ditt datum matas ut i formatet som anges av din NLS_DATE_FORMAT . Jag vill du visa om det är annorlunda, ändra då denna parameter för din session:
alter session set nls_date_format = 'dd-mm-yyyy'
Notera ordet display . Det är allt detta gör. Det är allt du bör överväga att göra. Sättet ett datum visas på påverkar inte hur det lagras.
Mer normalt kan du använda TO_CHAR() med en lämplig formatmodell för att visa ett datum, t.ex. to_char(my_date, 'dd-mm-yyyy')
. Det kommer inte längre att vara ett datum utan en karaktär.
Det ser inte ut som att du vill visa ett datum som du har sagt. Du returnerar värdet från din funktion, i så fall skulle jag hålla fast vid det du har. Du behöver bara omvandla ett datum till ett lämpligt format för visning när du tar ut det från databasen, lagra det alltid som ett datum i databasen. Det betyder i sin tur att det inte spelar någon roll hur det ser ut när det lagras i databasen, bara att det faktiskt är ett datum.