Função SQL ou Procedure PL-SQL que retorne SECULO

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
Julian Campagnoli
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 82
Registrado em: Ter, 26 Fev 2008 11:33 am
Localização: MG e SP
Julian de A. Campagnoli
Treinee, Desenvolvedor Oracle PL-SQL

Pessoal,
Estou precisando pegar o SÉCULO referente à uma certa data.

Gostaria de saber se há alguma FUNÇÂO SQL ou se será preciso criar isso em PL-SQL ????

Estou pesquisando e ainda naio encontrei nada a respeito ...

Se alguém já fez algo parecido e puder me ajudar.

Abrção, desde já agradeço.
Julian Campagnoli
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 82
Registrado em: Ter, 26 Fev 2008 11:33 am
Localização: MG e SP
Julian de A. Campagnoli
Treinee, Desenvolvedor Oracle PL-SQL

Pessoal, não consegui encontrar nenhuma função do tipo CHAR e DATE que retorne seculo.

Acabei criando em PL-SQL mesmo.

Selecionar tudo

DECLARE
   DATA_ENTRADA    VARCHAR2(10) := TO_CHAR(SYSDATE, 'DD/MM/YYYY');
   AUX             NUMBER(10);
   VERIF_ANO       NUMBER(2);
   SECULO          NUMBER;
BEGIN
   VERIF_ANO   := TO_NUMBER((SUBSTR(DATA_ENTRADA, 9 , 2 ))); 
   AUX         := TO_NUMBER((SUBSTR(DATA_ENTRADA, 7 , 2 )));  
   
   IF (VERIF_ANO = 00)  THEN
      SECULO := AUX;
   ELSE
      SECULO := AUX + 1;
   END IF;
   
   DBMS_OUTPUT.PUT_LINE(SECULO);

END;
Se alguém souber, se há alguma função pronta em SQL que retorne seculo.

Abração
Julian Campagnoli
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 82
Registrado em: Ter, 26 Fev 2008 11:33 am
Localização: MG e SP
Julian de A. Campagnoli
Treinee, Desenvolvedor Oracle PL-SQL

Melhorando o codigo, para retornar ROMANOS:

DBMS_OUTPUT.PUT_LINE(TO_CHAR(SECULO,'RM'));

Abraço
rogenaro
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 232
Registrado em: Sex, 30 Mar 2007 7:26 pm
Localização: Londrina - PR
Rafael O. Genaro

Seria isso?

Selecionar tudo

select to_char(sysdate, 'CC') from dual;
ou em números romanos, como já foi dito pelo Julian:

Selecionar tudo

select to_char(to_number(to_char(sysdate, 'CC')),'FMRM') from dual;
Julian Campagnoli
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 82
Registrado em: Ter, 26 Fev 2008 11:33 am
Localização: MG e SP
Julian de A. Campagnoli
Treinee, Desenvolvedor Oracle PL-SQL

Vlw, rogenaro exatamento isso.

Criei uma função PL-SQL pra fazer isso, mas, vou substuir pelo exemplo que me enviou.

Grande Abraço.
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 5 visitantes