|
|
| 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

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; |
|
|
mello 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
_________________ Thomas F. G.
Campanha: Faça uma pesquisa antes de perguntar!!!
|
|
dr_gori Moderador


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