Ich versuche alle Datensätze nach 6 Monaten in meiner Tabelle für ORACLE zu löschen.Datensätze nach 6 Monaten löschen Oracle
Ich habe derzeit
delete from table t
where to_date(substr(t.DATE_SENT,1,10),'MM/DD/YYYY') < add_months(trunc(sysdate), -6);
Das String-Format in dieser Tabelle ist '12/21/2015 12:00:00 AM'
.
HINWEIS Ich verstehe, dass dies ein DATETIME und nicht ein varchar2 sein sollte, aber es ist einfach ein varchar2, also versuche ich, eine Arbeit um es für jetzt zu finden.
Diese Abfrage scheint etwas für select * zu arbeiten, aber dann stürzt mit SQL
Error: ORA-01830: date format picture ends before converting entire input string
Jede Hilfe würde geschätzt.
Ich würde vermuten, dass Sie Werte liegen 1/1/2015 in den Daten haben. –
Versuchen Sie, Datensätze zu finden, bei denen das Datumsformat nicht mit 'select * aus der Tabelle übereinstimmt, wo nicht regexp_like (date_sent, '^ [[: digit:]] {1,2}/[[: digit:]] {1, 2}/[[: Ziffer:]] {4} ') '. –