ORA-01843: not a valid month

17/01/2014

175

Como faço para filtrar um campo data do tipo timestamp?

Quando é campo data faço assim: data_pedido between '01/01/2014' and '17/01/2014'

Mas como o campo data_pedido é do tipo timestamp está dando o erro: 'ORA-01843: not a valid month'

O que faço?
Responder

Post mais votado

17/01/2014

boa tarde
Thigo,

Podes fazer um teste usando a seguinte sintaxe

TRUNC(data_pedido) between '01/01/2014' and '17/01/2014'


att,
Chiodini
Responder

Mais Posts

SE nao der
precisa dar um cast na tua coluna

assim

trunc(cast(data_pedido as date))



att
Chiodini
Responder

17/01/2014

Thiago

Kraca véi tu é de mais! Funcionou! Muito obrigado!

boa tarde
Thigo,

Podes fazer um teste usando a seguinte sintaxe

TRUNC(data_pedido) between '01/01/2014' and '17/01/2014'


att,
Chiodini
Responder
hehe

Show de bola broder.
fico feliz em poder ajudar...
obrigado pelo retorno tb

att,
Chiodini
Responder

17/01/2014

Deivison Melo

data_pedido between To_Date('01/01/2014','dd/mm/yyyy') and To_Date('17/01/2014', 'dd/mm/yyyy')

ou 

To_Char(data_pedido,'dd/mm/yyyy') between '01/01/2014' and '17/01/2014'



Mas recomendo apenas que a conversão seja efetuada sempre do lado literal, então optar sempre
pela primeira opção!

Abração e bons códigos!

O código sugerido pelo amigo amigo acima (função Trunc) irá remover apenas AS horas das datas
na verdade o "remover" é zerar (deixar com o valor: 00:00:00, ou seja, ao invés de ser:
17/01/2014 10:10:10 ficará 17/01/2014 00:00:00

Qualquer dúvida estou à disposição!
Responder
Boa tarde

o Deivison esta certo,
porem como o campo se chama Data_Pedido,
julguei que voce vai fazer o selec por periodo,
no caso nao precisara da hora..

abraços

Chiodini
Responder

17/01/2014

Thiago

Deivison,

Obrigado pela ajuda e esclarecimento!

No caso o Leandro acertou, quando julgou que eu iria usar apenas a data. O que realmente fiz assim.

Mas por outro lado o seu post foi bom! Pois puder aprender um pouco mais. Vlw mesmo de coração!

Att.,

data_pedido between To_Date('01/01/2014','dd/mm/yyyy') and To_Date('17/01/2014', 'dd/mm/yyyy')

ou 

To_Char(data_pedido,'dd/mm/yyyy') between '01/01/2014' and '17/01/2014'



Mas recomendo apenas que a conversão seja efetuada sempre do lado literal, então optar sempre
pela primeira opção!

Abração e bons códigos!

O código sugerido pelo amigo amigo acima (função Trunc) irá remover apenas AS horas das datas
na verdade o "remover" é zerar (deixar com o valor: 00:00:00, ou seja, ao invés de ser:
17/01/2014 10:10:10 ficará 17/01/2014 00:00:00

Qualquer dúvida estou à disposição!
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários. Para saber mais sobre o uso de cookies,
consulte nossa política de privacidade. Ao continuar navegando em nosso site, você concorda com a nossa política.

Aceitar