Conversão de data - Firebird
28/02/2022
0
Bom dia.
Preciso exportar algumas informações de um banco de dados para outro, porem no campo data do banco de origem está retornando data-hora e preciso apenas da data. Tentei de varias formas, porem sem sucesso. Alguém pode me ajudar?
-----Nesse primeiro teste, o resultado retorna com data-hora
select fornecedor cod_fornec,
cast(historico as varchar(300))des_historico,
documento num_documento,
cast(cast(emissao as varchar(11)) as date) dta_emissao,
cast(vencimento as date) dta_vencimento,
datapag dta_quitacao
from cp
where documento = ''002687/1''
-----Nesse segundo, retorna apenas a data, porem como tipo ''Varchar'' e não ''DATE''
select fornecedor cod_fornec,
cast(historico as varchar(300))des_historico,
documento num_documento,
LPAD(extract(DAY from emissao), 2, ''0'') || ''.'' || -- Dia
LPAD(extract(MONTH from emissao), 2, ''0'') || ''.'' || -- Mês
extract(YEAR from emissao) as dta_emissao, -- Ano
LPAD(extract(DAY from vencimento), 2, ''0'') || ''.'' || -- Dia
LPAD(extract(MONTH from vencimento), 2, ''0'') || ''.'' || -- Mês
extract(YEAR from vencimento) as dta_vencimento, -- Ano
LPAD(extract(DAY from datapag), 2, ''0'') || ''.'' || -- Dia
LPAD(extract(MONTH from datapag), 2, ''0'') || ''.'' || -- Mês
extract(YEAR from datapag) as dta_quitacao
from cp
Preciso exportar algumas informações de um banco de dados para outro, porem no campo data do banco de origem está retornando data-hora e preciso apenas da data. Tentei de varias formas, porem sem sucesso. Alguém pode me ajudar?
-----Nesse primeiro teste, o resultado retorna com data-hora
select fornecedor cod_fornec,
cast(historico as varchar(300))des_historico,
documento num_documento,
cast(cast(emissao as varchar(11)) as date) dta_emissao,
cast(vencimento as date) dta_vencimento,
datapag dta_quitacao
from cp
where documento = ''002687/1''
-----Nesse segundo, retorna apenas a data, porem como tipo ''Varchar'' e não ''DATE''
select fornecedor cod_fornec,
cast(historico as varchar(300))des_historico,
documento num_documento,
LPAD(extract(DAY from emissao), 2, ''0'') || ''.'' || -- Dia
LPAD(extract(MONTH from emissao), 2, ''0'') || ''.'' || -- Mês
extract(YEAR from emissao) as dta_emissao, -- Ano
LPAD(extract(DAY from vencimento), 2, ''0'') || ''.'' || -- Dia
LPAD(extract(MONTH from vencimento), 2, ''0'') || ''.'' || -- Mês
extract(YEAR from vencimento) as dta_vencimento, -- Ano
LPAD(extract(DAY from datapag), 2, ''0'') || ''.'' || -- Dia
LPAD(extract(MONTH from datapag), 2, ''0'') || ''.'' || -- Mês
extract(YEAR from datapag) as dta_quitacao
from cp
Luiz Braga
Curtir tópico
+ 0
Responder
Posts
28/02/2022
Emerson Nascimento
não basta fazer um cast para date? nas precisa passar para varchar e depois para date. faça direto para date.
testei com current_timestamp
cast(emissao as date) dta_emissao
testei com current_timestamp
select current_timestamp datahora, cast(current_timestamp as date) somentedata from rdb$database
Responder
Clique aqui para fazer login e interagir na Comunidade :)