Не, не е. Вашата дата се извежда във формата, определен от вашия NLS_DATE_FORMAT . Искате да покажете ако е различно, променете този параметър за вашата сесия:
alter session set nls_date_format = 'dd-mm-yyyy'
Обърнете внимание на думата дисплей . Това е всичко, което прави. Това е всичко, което трябва да обмислите да направите. Начинът, по който се показва датата, по никакъв начин не влияе на начина, по който се съхранява.
По-нормално може да използвате TO_CHAR() с подходящ модел на формат за показване на дата, т.е. to_char(my_date, 'dd-mm-yyyy')
. Вече няма да е дата, а символ.
Не изглежда, че искате да показвате дата, както казахте. Връщате стойността от вашата функция, в който случай бих се придържал към това, което имате. Трябва само да трансформирате дата в подходящ формат за показване, когато я изваждате от базата данни, винаги я съхранявайте като дата в базата данни. Това от своя страна означава, че няма значение как изглежда, когато се съхранява в базата данни, а само че всъщност е дата.