Oracle SQL - DATE lebih besar dari pernyataan

Sebagai judul mengatakan, saya ingin menemukan cara untuk memeriksa mana dari data set adalah 6 bulan terakhir dari SYSDATE melalui query.

SELECT * FROM OrderArchive
WHERE OrderDate <= '31 Dec 2014';

I've mencoba mengikuti tapi itu kembali kesalahan yang mengatakan saya format tanggal yang salah. Namun, memasukkan data-data yang saya digunakan bahwa format tanggal seperti yang diminta/diinginkan dan tidak punya masalah.

Kesalahan pada Baris Perintah : 10 Kolom : 25

Blockquote

laporan Kesalahan -

SQL Error: ORA-01861: literal tidak sesuai format string 01861. 00000 - "harfiah tidak sesuai format string"

*Penyebab: Literal di input harus sama panjang sebagai literal di format string (dengan pengecualian dari ruang kosong). Jika "FX" pengubah telah diaktifkan, secara literal harus sama persis, dengan tidak ada tambahan spasi.

*Tindakan: Memperbaiki format string untuk mencocokkan literal.

Mengomentari pertanyaan (2)

Sebagai query string literal, dan dengan asumsi anda benar disimpan sebagai TANGGAL anda harus menggunakan tanggal literal:


SELECT * FROM OrderArchive
WHERE OrderDate 
Komentar (2)

Anda perlu mengkonversi string ke date menggunakan to_date() fungsi


SELECT * FROM OrderArchive
WHERE OrderDate 
Komentar (0)

anda harus menggunakan To_Date() fungsi untuk mengkonversi string ke date ! http://www.techonthenet.com/oracle/functions/to_date.php

Komentar (0)