Veröffentlicht 20. Oktober 200321 j Hi zusammen, Hoffe ich finde hier ne Antwort (im ganzen WWW hab ich nix gefunden). Einfach gesagt: Ich möchte alle Datensätze, die seit heute, 00:00:00 eingefügt wurden. Ich habe ein Feld Dat_insert, dass mit sysdate befüllt wurde. Also eigentlich: dat_insert >= to_date (date '00:00:00','dd.mm.yyyy hh24:mm:ss') in etwa.. aber die syntax passt nicht. ich weiss nicht, wie ich da diese 00:00:00 einfügen kann, wer´s ein statische datum, wäre es ja kein thema. kann mir jemand weiterhelfen? :confused: cheers, silicon
20. Oktober 200321 j ich hoffe, ich hab dich richtig verstanden, dass du ein bestehendes datum mit timestamp auf konvertieren möchtest auf das gleiche tagesdatum mit dem timestamp '00:00:00'? sollte so gehen:to_date(to_char(sysdate, 'DD.MM.YYYY'), 'DD.MM.YYYY') also erst in einen string konvertieren ohne timestamp, diesen dann wieder zu einem datum konvertieren. wenns das nicht sein sollte, noch mal posten hth
20. Oktober 200321 j ähm...wo bleiben da jetzt die 00:00:00 ??? Ich möchte alle Einträge, seit HEUTE (SYSDATE) ab 00:00:00 also z.b. einträge mit dem timestamp **** 20.10.2003 01:05:44 20.10.2003 08:05:44 20.10.2003 16:05:44 Das was Du geschrieben hast, müsste eigentlich das gleiche ergebnis bringen wie to_date(sysdate, 'dd.mm.yyyy') :confused:
20. Oktober 200321 j Ich glaub ich habs *vordiestirnschlag* einfach in 2 teilen: o.dat_insert >= to_date(trunc(sysdate),'dd.mm.yyyy') AND o.dat insert >= to_date('00:00:00','hh24:mm:ss') AND o.dat_insert < sysdate gibt zwar noch n syntaxfehler, müsste aber irgendwie so zu lösen sein. cheers, silicon
20. Oktober 200321 j versuchs mal mit o.dat_insert >= to_date('00:00:00','hh24:mi:ss') AND 'mm' steht für monat und ein monat '00' dürfte nicht bekannt sein. aber vergleich doch einfach mal nur auf den datumsanteil des dat_insert. das sollte das gleich ergebnis liefern, solange du nur auf > to_date('00:00:00', 'hh24:mi:ss') vergleichst... hth
20. Oktober 200321 j thx, dass mit mm hab ich gesehen. das andere sieht auch gut aus. danke für den tip. aber die abfrage nochmal in 2 teile splitten ist auch nich schlecht von der idee. man versuchts halt oft kompliziert und kompakt. bei deiner abfrage würde er aber dann alle dat_inserts finden, die > 00:00:00 sind, alle tage, alle jahre, alle monate....also eigentlich wieder alles. *g* cheers, silicon
20. Oktober 200321 j ich muss wieder sprechen ;-) ich hab mir jetzt eine tabelle angelegt: TESTDATE TEST ------------------- ---------- 19.10.2003 01:05:44 test01 19.10.2003 08:05:44 test02 19.10.2003 16:05:44 test03 20.10.2003 01:05:44 test11 20.10.2003 08:05:44 test12 20.10.2003 16:05:44 test13 21.10.2003 01:05:44 test21 21.10.2003 08:05:44 test22 21.10.2003 16:05:44 test23 die abfrage select to_char(testdate, 'dd.mm.yyyy hh24:mi:ss') as testdate, test from testtab where to_date(testdate, 'dd.mm.yyyy') >= to_date(sysdate, 'dd.mm.yyyy') liefert das ergebnis: TESTDATE TEST ------------------- ---------- 20.10.2003 01:05:44 test11 20.10.2003 08:05:44 test12 20.10.2003 16:05:44 test13 21.10.2003 01:05:44 test21 21.10.2003 08:05:44 test22 21.10.2003 16:05:44 test23 und das ist richtig (sofern sysdate der 20.10.2003 ist...)
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.