Oracle SQL - DATA maior que a declaração
Como o título diz, quero encontrar uma maneira de verificar quais dos meus conjuntos de dados estão passados 6 meses do SYSDATE via consulta.
SELECT * FROM OrderArchive
WHERE OrderDate <= '31 Dec 2014';
I'tentei o seguinte, mas devolve um erro dizendo que o meu formato de data está errado. No entanto, inserindo os dados que usei esse formato de data como solicitado/pretendido e não tive problemas.
Erro na Linha de Comando : 10 Coluna : 25
Blockquote
Relatório de erro -
SQL Error: ORA-01861: literal não corresponde à string de formato 01861. 00000 - "literal não corresponde ao formato string"
*Causa: Os literais na entrada devem ter o mesmo comprimento que os literais em a cadeia de formatos (com excepção dos principais espaços em branco). Se o "FX" modificador foi alternado, o literal deve combinar exatamente, sem espaço extra para brancos.
*Acção: Corrige a string de formato para corresponder ao literal.
Como sua seqüência de consulta é literal, e assumindo que suas datas são devidamente armazenadas como
DATE
você deve utilizar date literals:Você precisa converter a string para data utilizando a função
to_date()
.você tem que usar a função To_Date() para converter a string para data ! http://www.techonthenet.com/oracle/functions/to_date.php