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?
problemas com SYSDATE
-
- Rank: Estagiário Sênior
- Mensagens: 8
- Registrado em: Seg, 19 Set 2005 12:40 pm
- Localização: CE
-
- Rank: Programador Júnior
- Mensagens: 15
- Registrado em: Seg, 06 Mar 2006 5:26 pm
- Localização: sp
o camando initcap coloca só as iniciais em maiusculo.

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

- dr_gori
- Moderador
- Mensagens: 5018
- 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
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
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:
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

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:
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>
Aqui no forum já foi falado sobre datas: Dá uma olhada nesse link:
http://www.glufke.net/oracle/viewtopic.php?t=22

-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 2 visitantes