FAQ Procura Membros Registre-se Perfil MP's Login/Out
Veja também:
Formato de Datas - Consulta rápida
Erro em função de Data por extenso
Função para dias úteis
Reports (Urgente) - problemas com máscara
Semana do mês (mas de acordo com a semana do calendario)
Formatação de Moeda estilo Brasil

problemas com SYSDATE

 
Novo Tópico   Responder Mensagem    glufke.net - Índice do Fórum -> PL/SQL
Mensagem Autor
Enviada: Sáb, 01 Abr 2006 6:23 pm     Assunto: problemas com SYSDATE

Pessoal,

Eu gostaria de algumas sugestões para o seguinte problema ,queria saber qual rotina PL/SQL devo proceder,meu problema é que devo fazer um rotina que eu pegue do banco uma cidade e SYSDATE e no final eu tenha a seguinte string ,por exemplo,se a cidade for são PAULO,01/04/2006.......eu tenha como resultado :São Paulo ,01 de Abril de 2006

percebam que o primeiro problema é que as cidade estão cadastradas todas em maiusculo no BD,pra fazer essa STring eu teria que somente colocar em maiusculo o primeiro caracter(portanto não daria pra usar somente UPPER)

O segundo problema ,é separar do SYSDATE,o dia ,mês e ano e depois o Mês deverá ser escrito por extenso em padrão portugues.....enfim .Enfim eu só consigo imaginar a solução mais trivial de ficar checando Mês a Mês e de acordo com o o valor colocar a String relativa a ele (se for igual a 01 coloca "Janeiro",se for igual a 02 ficaria "Fevereiro" e assim por diante) mas pode ser que haja uma outra solução melhor ............

alguém poderia me dar uma ajuda,por favor?

HumbertoJr
Rank: Estagiário Sênior
Rank: Estagiário Sênior


Registrado em: Seg, 19 de Setembro de 2005
Mensagens: 8
Cidade - UF: CE


Enviada: Ter, 04 Abr 2006 10:55 am     Assunto: Sysdate

o camando initcap coloca só as iniciais em maiusculo.

Código:
SELECT initcap('SÃO PAULO, ')||
            TO_CHAR(SYSDATE, 'DD')||' de '||
            TO_CHAR(SYSDATE, 'Month')||'de '||
            TO_CHAR(SYSDATE, 'YYYY') AS RESULTADO
  FROM DUAL;


Surprised
mello
Rank: Programador Júnior
Rank: Programador Júnior


Registrado em: Seg, 6 de Março de 2006
Mensagens: 15
Cidade - UF: sp


Enviada: Ter, 04 Abr 2006 12:19 pm    

Olá Mello

Seu comando está perfeito, mas se o banco estiver com a data em INGLES, vai aparecer a data em ingles.

Abaixo, deixo a solução pra isso:

Código:
SQL> select to_char(sysdate, 'Month') from dual;

TO_CHAR(S
---------
April

SQL>
SQL> SELECT
  2    INITCAP('PORTO ALEGRE')||', '||
  3    TO_CHAR(SYSDATE, 'DD') ||' de '||
  4    RTRIM(TO_CHAR(SYSDATE, 'Month' , 'NLS_DATE_LANGUAGE=PORTUGUESE' )) ||' de '||
  5    TO_CHAR(SYSDATE, 'YYYY')||'.'   HOJE
  6  FROM DUAL
  7  /

HOJE
--------------------------------------
Porto Alegre, 04 de Abril de 2006.

SQL>


Observe que, mesmo a configuração do meu banco estando em ingles, a data sai certa!

Aqui no forum já foi falado sobre datas: Dá uma olhada nesse link:
http://www.glufke.net/oracle/viewtopic.php?t=22
Surprised
_________________
Thomas F. G.
Campanha: Faça uma pesquisa antes de perguntar!!!
dr_gori
Moderador
Moderador


Registrado em: Seg, 3 de Mai de 2004
Mensagens: 3222
Cidade - UF: Porto Alegre - RS


Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    glufke.net - Índice do Fórum -> PL/SQL Todos os horários são GMT - 3 Hours
Página 1 de 1

 
 
. .