ERRO: ORA-00904: DATEDIFF: identificador inválido

05/10/2015

Estou tentando fazer uma query que conte quantos dias há em um determinado período de datas.
Ex: De 01/01/2015 a 31/12/2015 tem 365 dias

SELECT DATEDIFF('31/12/2015', '01/01/2015')
FROM DUAL

ERRO: ORA-00904: "DATEDIFF": identificador inválido

Respostas

05/10/2015

Marcos P

Se for ORACLE... [url:descricao=https://docs.oracle.com/goldengate/1212/gg-winux/GWURF/column_conversion_functions011.htm#GWURF780]https://docs.oracle.com/goldengate/1212/gg-winux/GWURF/column_conversion_functions011.htm#GWURF780[/url]

Senão for, indique o banco.
Responder Citar

05/10/2015

André

É SQL
Responder Citar

05/10/2015

Marcos P

Sql server com prefixo "ORA" no erro ?

Estranho !

https://msdn.microsoft.com/pt-br/library/ms189794%28v=sql.120%29.aspx
Responder Citar

05/10/2015

Marcos P

Resolveu ?
Responder Citar

06/10/2015

Marcos P

André, você conseguiu resolver seu problema ?

Precisa de mais alguma ajuda adicional ?
Responder Citar

06/10/2015

André

Preciso de mais ajuda.

Não consegui com nenhuma dos dois exemplos ele fica dando o mesmo erro
Responder Citar

06/10/2015

Marcos P

Qual seu banco de dados ?

Sql Server ? Oracle ? MySql ? Firebird ?
Responder Citar

06/10/2015

Gisely :d

Ola Marcos.

Penso que seja o formato de sua data (01/01/2015) tente 2015-01-01. Pelo menos no meu funcionou....
Responder Citar

06/10/2015

Marcos P

Sim o funcionamento é trivial, ainda mais com os exemplos que passei nos links acima.

Agora, sem a definição de qual banco de dados está sendo usado, fica difícil ajudar...
Responder Citar

06/10/2015

Gisely :d

Pelo erro do código, eu consegui identificar que se trata de um bd da oracle (MySQL). É o mesmo que eu utilizo... a função DATEDIFF não funciona por conta do formato da data.
Responder Citar

06/10/2015

Marcos P

Se for MySql, segue o link da documentação dessa função : [url:descricao=https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_datediff]https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_datediff[/url]

Com exemplos...
Responder Citar

07/10/2015

André

- O meu banco é esse que o gisahchan disse oracle (MySQL)

- O Formato da data que eu uso aqui é 'dd/mm/aa'

- Usei pelo seu exemplo de MySql marcos e mesmo assim continua dando o mesmo erro

SELECT DATEDIFF ('01/01/2014 23:59:59', '31-12-2014')
FROM DUAL

Erro: ORA-00904: "DATEDIFF": identificador inválido
Responder Citar

07/10/2015

André

- O meu banco é esse que o gisahchan disse oracle (MySQL) - O Formato da data que eu uso aqui é 'dd/mm/aaaa' - Usei pelo seu exemplo de MySql marcos e mesmo assim continua dando o mesmo erro SELECT DATEDIFF ('01/01/2014 23:59:59', '31-12-2014') FROM DUAL Erro: ORA-00904: "DATEDIFF": identificador inválido
Responder Citar

07/10/2015

Gisely :d

Bom dia Andre.
As duas datas que você vai utilizar têm de estar no mesmo formato (aaaa-mm-dd).
Responder Citar

07/10/2015

André

Escrevi errado aqui kkkk, tentei com o mesmo formato e deu erro
Responder Citar