Erro em função de Data por extenso

Dicas e truques sobre Oracle Reports Builder - modo gráfico ou modo caractere, ascii, arquivo .PRT, etc
Responder
Sanderson
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 3
Registrado em: Ter, 26 Set 2006 5:06 pm
Localização: Porto Velho - RO

Alguém pode me ajudar e dizer o que está errado com o seguinte código:

Selecionar tudo

function CF_DATA_EXTENSOFormula return Char is
  mês_extenso varchar(50);
begin
  RETURN  ( 'Porto Velho, '||TO_CHAR(SYSDATE,'DD')||' de '||INITCAP(LOWER(mês_EXTENSO(TO_CHAR(SYSDATE,'MM'))))||' de '||TO_CHAR(SYSDATE,'YYYY'));
end;
Obrigado
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Bom, como eu não tenho a função mês_EXTENSO, eu não consegui testar aqui. Mas olha só: é muito mais fácil usar o TO_CHAR pra deixar por extenso!

Selecionar tudo

SQL> SELECT TO_CHAR( SYSDATE , 'Month' , 'NLS_DATE_LANGUAGE=PORTUGUESE' )
  2  FROM DUAL
  3  /

TO_CHAR(S
---------
Outubro

SQL> 
Não precisa nem de INITCAP. Leia esse tópico pra você se inteirar mais sobre as datas:
http://www.glufke.net/oracle/viewtopic.php?t=22
Sanderson
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 3
Registrado em: Ter, 26 Set 2006 5:06 pm
Localização: Porto Velho - RO

Realmente usando o to char ficou bem melhor.

Obrigado
Avatar do usuário
adrianoturbo
Moderador
Moderador
Mensagens: 393
Registrado em: Qui, 20 Mar 2008 4:09 pm
Localização: Brasília
Adriano Alves
---Para cada problema dificil existe uma solução simples.----

Estava fazendo um select para trazer justamente por extenso a data com a função TO_CHAR(uma mão na-roda) ,bom acabei de fazer .
Segue o trem funcionando pra galera testar :

Selecionar tudo

SELECT TO_CHAR(DT_NASC,'"Brasília" DD "de" Month" de "YYYY','NLS_DATE_LANGUAGE=PORTUGUESE' )
 FROM CLIENTE
Responder
  • Informação