sql-Abfrage zum abrufen der letzten 6 Monate der Daten
Ich versuche die Daten der letzten 6 Monate.
Dies ist, was ich verwendet habe:
WHERE d_date > DATEADD(m, -6, current_timestamp)
und ich bin immer diese Fehlermeldung.
ERROR: CLI prepare error: SQL0206N "M" is not valid in the context where it is used
habe auch versucht
WHERE d_date > current date -180
und bekam diese Fehlermeldung:
ERROR: CLI prepare error: SQL0171N The data type, length or value of the argument for the parameter in
position "2" of routine "-" is incorrect. Parameter name: "". SQLSTATE=42815
Bitte um Rat.
- Die Fehlermeldung zeigt deutlich, dass die server, die Sie übergeben, wird die Abfrage nicht SQL Server, wie Sie angegeben haben, in den tags, aber DB2. Finden Sie die DB2-SQL-Handbuch, um herauszufinden, wie die Arbeit mit Daten in diesem Produkt. Die
DATEADD()
syntax in deinem Beispiel ist der SQL Server nicht DB2. - der einzige Grund, warum ich fügte hinzu, SAS war, da schrieb ich diese Abfrage im sas enterprise guide.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Basierend auf Andriy-Adler-Augen, hier ist (glaube ich) die DB2-syntax:
Und hier ist ein link eine ziemlich gute Funktion, um den Spiegel DATEADD in DB2.
Auch, da Sie erwähnt, SAS hier ist die SAS-syntax zu tun, die gleiche Sache:
Obwohl Sie sagen, Sie laufen diese mit SAS Enterprise Guide, die syntax, die Sie zeigen, nicht SAS. Die Fehlermeldung, die Sie erhalten, schlägt Sie die Vorlage "pass-thru" - code direkt zu einer Datenbank.
Können Sie auch versuchen, diese
In DB2, es sollte so etwas wie
Entfernen Sie die SQL-Server-tag, das ist für MS SQLServer Fragen.