ORA-01843: not a valid month

Oracle

17/01/2014

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?
Thiago

Thiago

Curtidas 2

Melhor post

Leandro Chiodini

Leandro Chiodini

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
GOSTEI 1

Mais Respostas

Leandro Chiodini

Leandro Chiodini

17/01/2014

SE nao der
precisa dar um cast na tua coluna

assim

trunc(cast(data_pedido as date))



att
Chiodini
GOSTEI 1
Thiago

Thiago

17/01/2014

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
GOSTEI 0
Leandro Chiodini

Leandro Chiodini

17/01/2014

hehe

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

att,
Chiodini
GOSTEI 0
Deivison Melo

Deivison Melo

17/01/2014

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!
GOSTEI 1
Leandro Chiodini

Leandro Chiodini

17/01/2014

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
GOSTEI 0
Thiago

Thiago

17/01/2014

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!
GOSTEI 1
POSTAR