Somar campo data com varchar

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
pnet
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 7
Registrado em: Seg, 23 Nov 2015 5:23 pm

Tenho uma proc e dentro dela, preciso somar uma data a um parâmetro. O que passa é que o valor desse parâmetro é varchar. Como eu faço isso?

Essa é um pedaço da proc:

Selecionar tudo

CREATE OR REPLACE PROCEDURE TS_ODO.odo_prs_registra_pedido_exclu(p_msg_xml     in clob,
                                                                 p_cod_retorno out number,
                                                                 p_msg_retorno out varchar2,
                                                                 p_versao      in varchar2 default 'N') is
  ----- variaveis auxiliares
  v_posicao number;
  --
  v_doc         xmldom.DOMDocument;
  v_cod_retorno number;
  v_msg_retorno varchar2(4000);
  --
  v_usuario                ts_odo.odo_prestador_operadora.cod_usuario_atu%type;
  v_cod_operadora          ts_odo.odo_prestador_operadora.cod_operadora%type;
  v_cod_prestador_ts       ts_odo.odo_prestador_operadora.cod_prestador_ts%type;
  v_cod_motivo_exclusao    ts_odo.odo_prestador_operadora.cod_motivo_exclusao%type;
  v_data_exclusao          ts_odo.odo_prestador_operadora.dat_exclusao%type;
  v_data_realizacao        ts_odo.odo_prestador_operadora.dat_exclusao%type;
  v_data_apresentacao      ts_odo.odo_prestador_operadora.dat_exclusao%type;
  v_data_representacao     ts_odo.odo_prestador_operadora.dat_exclusao%type;
  v_data_direcionamento    ts_odo.odo_prestador_operadora.dat_exclusao%type;
  v_data_notificacao_exc   ts_odo.odo_prestador_substituto.dt_notif_voluntaria%type;
  v_txt_exclusao           ts_odo.odo_prestador_operadora.txt_exclusao%type;
  v_ind_situacao           ts_odo.odo_prestador_operadora.ind_situacao%type;
  v_cod_prestador_ts_subst ts_odo.odo_prestador_substituto.cod_prestador_ts_substituto%type;
  v_cod_rede               ts_odo.odo_prestador_substituto.cod_rede_excluido%type;
  v_dt_fim_hab_aux         ts_odo.odo_rede_prestador.dt_exclusao%type;
  v_dt_ini_hab_aux         ts_odo.odo_rede_prestador.dt_ini_hab%type;
  
  v_prazo_subs_ans         ts_odo.odo_controle_sistema.val_parametro%type;
Preciso concatenar os seguintes campos(variáveis):

Selecionar tudo

v_data_exclusao +(||) v_prazo_subs_ans
Sendo que esse campo(var)

Selecionar tudo

v_prazo_subs_ans
é varchar.
Avatar do usuário
stcoutinho
Moderador
Moderador
Mensagens: 850
Registrado em: Qua, 11 Mai 2011 5:15 pm
Localização: são Paulo - SP

Pnet,

Bem vindo ao forum GLUFKE !

Então, para você efetuar operações entre uma variável DATE e outra VARCHAR, você poderia usar nesta última a função TO_DATE.

Exemplo:

ALTER SESSION SET NLS_DATE_FORMAT = 'DD/MM/YYYY HH24:MI:SS';
SELECT SYSDATE - TO_DATE ('01/01/2015 15:00:00','DD/MM/YYYY HH24:MI:SS') FROM DUAL


Abraços,

Sergio Coutinho
Responder
  • Informação
  • Quem está online

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