Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bom dia
Preciso de uma ajuda, estou tentando trazer dados a partir de uma data colocando essa data em uma where, porem me retornar esse erro: Connector reply error: SQL##f - SqlState: S1000, ErrorCode: 932, ErrorMsg: [Oracle][ODBC][Ora]ORA-00932: inconsistent datatypes: expected DATE got NUMBER
Alguém sabe me explicar o porque?
Segue código abaixo:
LET vMAX_DATA = '01/01/2017'
FUNC:
LOAD CODPESSOA as ID,
CODCOLIGADA,
CHAPA,
NROFICHAREG;
SQL SELECT *
FROM RM.PFUNC
WHERE DATADEMISSAO >= $(vMAX_DATA);
Desde já agradeço.
Consegui achar a solução desse jeito:
TEMP:
LOAD CODPESSOA,
CODCOLIGADA,
CHAPA,
NROFICHAREG;
SQL SELECT *
FROM RM.PFUNC;
LOAD CODPESSOA as ID_CODPESSOA,
CODCOLIGADA&CHAPA as ID,
NROFICHAREG
Resident TEMP
WHERE DATADEMISSAO >= '01/01/2017' OR ISNULL(DATADEMISSAO);
DROP TABLE TEMP;
Obrigado pela atenção e ajuda pessoal.
Abraço.
use to_date()
https://www.techonthenet.com/oracle/errors/ora00932.php
Bom dia
Além da sugestão do Vineeth, observe o tipo de dados do campo DATADEMISSAO. Isso vai indicar qual a operação que você deve usar para resolver o caso.
tenta usar
to_char(DATADEMISSAO ,'DD/MM/YYYY')
exemplo
Where to_char(DATADEMISSAO ,'YYYY') > '2016'
Edvaldo Gutierres.
Tente assim:
LET vMAX_DATA = Date('01/01/2017','DD/MM/YYYY');
FUNC:
LOAD CODPESSOA as ID,
CODCOLIGADA,
CHAPA,
NROFICHAREG;
SQL SELECT *
FROM RM.PFUNC
WHERE DATADEMISSAO >= to_date('$(vMAX_DATA)','DD/MM/YYYY');
Espero ter ajudado!
Quando for passar parametros para SQL de banco você usualmente tem duas opções
Consegui achar a solução desse jeito:
TEMP:
LOAD CODPESSOA,
CODCOLIGADA,
CHAPA,
NROFICHAREG;
SQL SELECT *
FROM RM.PFUNC;
LOAD CODPESSOA as ID_CODPESSOA,
CODCOLIGADA&CHAPA as ID,
NROFICHAREG
Resident TEMP
WHERE DATADEMISSAO >= '01/01/2017' OR ISNULL(DATADEMISSAO);
DROP TABLE TEMP;
Obrigado pela atenção e ajuda pessoal.
Abraço.
Sua solução funciona mas poderia ser um pouco melhor em termos de performance se mantiver o where no SQL, pois você está trazendo tudo para o Qlik para depois filtrar.
Mas se está rápido, don´t worry