2012-04-12 9 views
1

Ich versuche, den Documentum-Server mithilfe der DQL-Abfrage abzufragen. Verwenden der DATEDIFF-Funktion zum Auswählen von Daten, die im aktuellen Datum erstellt wurden. Hier ist die AbfrageDie Daediff-Funktion von DQL gibt keine Ergebnisse wie erwartet zurück

SELECT title FROM content_table WHERE DATEDIFF(day, "r_creation_date", DATE(TODAY)) < '1' AND content_type IN ('story','news') 

Problem ist zusammen mit den heutigen Daten die Auswahl von gestern auch. Warum ruft weniger als 1 Bedingung auch die Daten von gestern ab?

Habe versucht, DATEDIFF (Tag, "r_creation_date", DATE (HEUTE)) = '0', aber das bringt kein Ergebnis. Ich verstehe, dass sogar die Zeit ins Bild kommt, aber da ich "Tag" als das Datumsmuster verwende, wird es nicht nur den Unterschied der Tage allein berechnen?

+0

http://stackoverflow.com/search? q = DATEDIFF + DQL – NitZRobotKoder

Antwort

0

Sie diese Abfrage ausprobieren können:

SELECT title FROM content_table WHERE r_creation_date > DATE(TODAY) AND content_type IN ('story','news') 

, wenn die Objekte erstellt heute müssen (nach 00:00 Uhr, nicht in den letzten 24 h)

0

sollte ich die GETDATE() Funktion verwenden, um den aktuellen Tag

Grüße zu bekommen.

+0

SELECT Titel FROM content_table WHERE DATEDIFF (Tag, "r_creation_date", GETDATE()) <'1' UND content_type IN ('story', 'news') Dies ist, was ich verwendet habe. Aber seine übergebene Abfrage gibt einen Fehler bei der GETDATE-Methode aus. – NitZRobotKoder

+0

@NitZRobotKoder ist r_creation_date eine Spalte von content_table? Wenn ja, vergiss das Zitat und benutze content_table.r_creation_date –