duvida na hora de converter a data

Scripts Diversos para o Oracle SQL*Plus. (Relacionado a ferramenta Oracle SQL*Plus, para questões de SQL, usar o forum SQL)
Responder
wilke
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 46
Registrado em: Sex, 23 Nov 2007 9:26 am
Localização: porto velho -ro

pessoal eu tenho essa varia que e do tipo datetime, mas dar esse error quando tendo passar para ela. o error e

Selecionar tudo

could not convert variant of type(string) into type (date)

eu tenho feito assim.

Selecionar tudo

VDTDATAFLUXO := STPPESQUISAIMOBILIZADO.ParamByName('DT_VENCIMENTO_').Asdatetime;
voces tem alguma dica de como eu posso resolver? desde eu agradeço pela ajuda de voces.
Tineks
Rank: DBA Sênior
Rank: DBA Sênior
Mensagens: 365
Registrado em: Ter, 24 Mai 2005 2:24 pm
Localização: Araraquara - SP
Cristiano (Tineks)
Araraquara - SP

Olá..

A variavel VDTDATAFLUXO é do tipo TDateTime??

Tenta fazer a mudança abaixo.

Selecionar tudo

VDTDATAFLUXO := STPPESQUISAIMOBILIZADO.ParamByName('DT_VENCIMENTO_').value;
[]'s
wilke
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 46
Registrado em: Sex, 23 Nov 2007 9:26 am
Localização: porto velho -ro

amigo deu o mesmo error ,mas acrencentado do double

Selecionar tudo

'could not convert variant of type(string) into type (double)
Tineks
Rank: DBA Sênior
Rank: DBA Sênior
Mensagens: 365
Registrado em: Ter, 24 Mai 2005 2:24 pm
Localização: Araraquara - SP
Cristiano (Tineks)
Araraquara - SP

você precisa que a variavel VDTDATAFLUXO seja double, ela não é do tipo TDatetime?

[]'s
debby_acacio
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 51
Registrado em: Ter, 22 Jan 2008 11:38 am
Localização: Salvador - BA
Contato:

Olá..
Entendo pouco desse processo..
Mas, como você está tratando a máscara da variável << ('DT_VENCIMENTO_'). >>>antes de passar para a procedure ???

procure ver tb como está o nls_date_format no regedit da tua máquina...

Não sei se vai ajudar.
Boa sorte
Debby :)
wilke
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 46
Registrado em: Sex, 23 Nov 2007 9:26 am
Localização: porto velho -ro

na verdade amigo eu to fazendo assim

Selecionar tudo

CREATE OR REPLACE PROCEDURE PR_PESQUISA_IMOBILIZADO ( VL_FORNECEDOR_ OUT VARCHAR2,
                                                      DT_VENCIMENTO_ OUT VARCHAR2, 
                                                      VCDORDEM_ OUT VARCHAR2,
                                                      VCDGRUPO_ OUT VARCHAR2,                           
                                                      DATA1  IN OUT VARCHAR2,
                                                      DATA2  IN OUT VARCHAR2,
                                                      VDATE1 IN OUT VARCHAR2,
                                                      VDATE2 IN OUT VARCHAR2)IS

                                                   
        
CURSOR CR_IMOBILIZADO IS
   select /*+ INDEX( PR IX_PAGAR_PRODUTOR ) */
          GC.CD_ORDEM,
          SG.NM_SUB_GRUPO_CONTABIL NM_GRUPO_CAIXA,
          fn_venc_data(TO_date(vdate1,'DD MM YYYY'),
          TO_DATE(vdate2,'DD MM YYYY'),
          mp.dt_vencimento,
          mp.dt_vencimento_boleta,
          mp.dt_prorrogacao,'2') as dt_vencimento, 
mas ele dar errors de conversao.
debby_acacio
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 51
Registrado em: Ter, 22 Jan 2008 11:38 am
Localização: Salvador - BA
Contato:

Olá Wilke.

Por favor, poderia responder se na linha abaixo fn_vend_data é uma função de banco ???

Selecionar tudo

 fn_venc_data(TO_date(vdate1,'DD MM YYYY'), 
Se for, como esta definido o parametro que esta recebendo esse campo <VDATE1> date ???
-- Verifique também como estão os outros parametros que estao entrando na funcao...

Espero mais uma vez que esteja ajudando.
geralmente tenho esse erro na definicao dos tipos de parametros e variaveis VARCHAR2 e DATE e vice-versa. O campo que está entrando tem que ser do mesmo tipo daquele que está recebendo o valor. No caso da funcao.

Sds,
Debby :)
Responder
  • Informação
  • Quem está online

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