Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Boa tarde.
Apenas me tirem uma dúvida...
Usando uma ferramenta de gerenciamento de dados (dbForge studio), aplico o comando abaixo, e o resultado vem perfeitamente, mas quando executo dentro do Qlikview, o comando ignora a parte >= '01/01/2015'...
A pergunta é, porque dentro do qlikview, o código está ignorando esta parte da data, e trazendo as datas inferiores a citada?
O que tenho que fazer no código, para que ele entenda esta condição....?
Código sendo usado:
SELECT
CB.ID_DOCUMENTO,
CB.NR_DOCUMENTO,
CBT.VL_PAGO,
CB.ID_CONTA,
CB.DT_CONCILIADO,
CB.CS_TRANSFERENCIA,
CBT.CS_TIPO_DOCUMENTO,
CBT.ID_DOCUMENTO
FROM SGT.CAIXAS_BANCOS CB,
SGT.CAIXAS_BANCOS_TITULOS CBT
WHERE CB.ID_DOCUMENTO = CBT.ID_DOCUMENTO
AND CB.DT_CONCILIADO >= '01/01/2015'
AND CB.CS_TRANSFERENCIA = 'S';
Clever, usamos oracle 11g
Tente TO_DATE('01/01/2015','DD/MM/YYYY')
Também não adiantou... Os dados continuaram vindo da mesma forma.
Estranho demais né?
Bom dia.
Você já tentou colocar Date(DT_CONCILIACAO) para transformar o Timestamp?
Olá, veja se assim funciona, alterando o seu SQL dentro do script QlikView.
TO_DATE(CB.DT_CONCILIADO,'DD/MM/YYYY') >= '01/01/2015'
Don't worry, be Qlik.
Tonial.
Roda esse comando por favor
select column_name, data_type
from all_tab_columns
where table_name = ‘SGT.CAIXAS_BANCOS_TITULOS’
and column_name = 'DT_CONCILIADO'
Tonial, bom dia.
Fiz assim, veja se está correto?
SELECT
CB.ID_DOCUMENTO AS ID_DOCUMENTO_D,
CB.NR_DOCUMENTO,
CB.DT_EMISSAO,
CB.CS_DOCUMENTO,
CB.VL_CONTA,
CBT.VL_PAGO AS VL_DOCUMENTO,
CB.ID_CONTA,
CB.DT_CONCILIADO,
CB.CS_TRANSFERENCIA,
CB.CS_CONCILIADO,
CB.NR_TRANSFERENCIA,
CBT.CS_TIPO_DOCUMENTO,
CBT.ID_DOCUMENTO AS CBT_ID_DOCUMENTO,
CBT.ID_CAIXA_BANCO_TITULO
FROM SGT.CAIXAS_BANCOS CB,
SGT.CAIXAS_BANCOS_TITULOS CBT
WHERE CB.ID_DOCUMENTO = CBT.ID_DOCUMENTO
AND CB.DT_CONCILIADO IS NOT NULL
AND TO_DATE(CB.DT_CONCILIADO, 'DD/MM/YYYY') >= '01/01/2015'
AND CB.CS_TRANSFERENCIA = 'S'
AND CBT.CS_TIPO_DOCUMENTO = 'C';
Mas quando acrescentei esta linha, AND TO_DATE(CB.DT_CONCILIADO, 'DD/MM/YYYY') >= '01/01/2015', não trouxe resultado algum, o resultado foi vazio.
Tirando a linha, volta mostrar resultados...
Dentro do dbForge, ou seja, diretamente dentro do banco, via qlik a única diferença que fiz fiz foi adicionar SQL antes do SELECT, mas também não trouxe nada....
Bom dia.
O SQL antes do SELECT não se faz necessário. Se tiver ou não, roda.
A questão deve mesmo estar no formato da data. Ja tive este problema.
Se você colocar um LOAD e no load colocar um where?
Sei que não seria tao performático quanto o where no banco, mas não sei o tempo que leva lendo a tabela....as vezes é rápida e não sacrifica tanto....
LOAD
*
Where year(DT_CONCILIADO_ >= 2015 ;
SELECT
CB.ID_DOCUMENTO AS ID_DOCUMENTO_D,
CB.NR_DOCUMENTO,
CB.DT_EMISSAO,
CB.CS_DOCUMENTO,
CB.VL_CONTA,
CBT.VL_PAGO AS VL_DOCUMENTO,
CB.ID_CONTA,
CB.DT_CONCILIADO,
CB.CS_TRANSFERENCIA,
CB.CS_CONCILIADO,
CB.NR_TRANSFERENCIA,
CBT.CS_TIPO_DOCUMENTO,
CBT.ID_DOCUMENTO AS CBT_ID_DOCUMENTO,
CBT.ID_CAIXA_BANCO_TITULO
FROM SGT.CAIXAS_BANCOS CB,
SGT.CAIXAS_BANCOS_TITULOS CBT
WHERE CB.ID_DOCUMENTO = CBT.ID_DOCUMENTO
AND CB.DT_CONCILIADO IS NOT NULL
AND CB.CS_TRANSFERENCIA = 'S'
AND CBT.CS_TIPO_DOCUMENTO = 'C';
Desculpe a demora Clever,
Consulta:
select column_name, data_type
from all_tab_columns
where TABLE_NAME = 'CAIXAS_BANCOS'
AND COLUMN_NAME = 'DT_CONCILIADO';
Resultado:
DT_CONCILIADO - DATE