Não, não é. Sua data está sendo exibida no formato especificado por seu NLS_DATE_FORMAT . Eu você deseja exibir se for diferente, altere este parâmetro para sua sessão:
alter session set nls_date_format = 'dd-mm-yyyy'
Observe a palavra exibir . Isso é tudo o que isso faz. Isso é tudo que você deve considerar fazer. A forma como uma data é exibida não afeta de forma alguma a forma como ela é armazenada.
Normalmente, você pode usar TO_CHAR() com um modelo de formato apropriado para exibir uma data, ou seja,
to_char(my_date, 'dd-mm-yyyy')
. Não será mais uma data, mas um personagem. Não parece que você deseja exibir uma data como você disse. Você está retornando o valor da sua função, nesse caso eu ficaria com o que você tem. Você só precisa transformar uma data em um formato apropriado para exibição ao tirá-la do banco de dados, sempre armazená-la como uma data no banco de dados. Isso, por sua vez, significa que não importa o que parece quando armazenado no banco de dados, apenas que é realmente uma data.