Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

Datumsfunktion in der SQL Pass-Through-Abfrage





Frage

Hallo Leute, ich stehe vor dem folgenden Problem: Was ich habe: eine Daten-Tabelle mit u.a. einem Datumsfeld, täglich aktualisiert Wie arbeite ich: ich greife in der laufenden Woche immer auf Daten vom letzten Freitag. Also in der Woche2, Woche3,..., WocheN greife ich jeweils auf das Datumsfeld vom letzten Freitag (also Freitag der WocheN-1) zu. Frage: Wie formuliere ich dies in der SQL Pass-Through-Abfrage? Also eine Art Funktion, vielleicht, definieren (wie z.B. SYSDATE minus "etwas"), die an jedem Tag der laufenden Woche auf den Freitag der vergangenen Woche greift! Vielen Dank für Eure Hilfe!! Zhuzha

Antwort 1 von .struppi

Hallo,
Wenn du im Where Teil der Abfrage für das Datumsfeld folgendes Kriterium benutzt müßte es funktionieren.

Datumfeld = Date()-(Weekday(Date())+1)

Standardmäßig ist der Sonntag in der Weekday Funktion der erste Wochentag.
Wenn Montag der erste Wochentag sein soll kann das noch zusätzlich in der Funktion angegeben werden.
Gruß struppi

Antwort 2 von .struppi

Bei Montag als erster Wochentag:

Date()-(Weekday(Date(),2)+2)

Antwort 3 von Zhuzha

Vielen Dank,

das werde ich ausprobieren.

Ein kleines Problem sehe ich trotzdem. Die Pass-Through-Abfrage greift (glaube ich) auf die Oracle-Datenbank. So dass die Abfrage mit Access-Datumssyntax mit so einer Fehlermeldung wie "ODBC ... blablabla ... fehlgeschlagen" endet.

Es geht wie ich oben beschrieben habe mit solchem Syntax wie SYSDATE fürs Datum von heute.

Gruß

Zhuzha

Antwort 4 von Zhuzha

Hallo,

ich habe es ausprobiert - es geht so nicht. Anscheinend ist das ein Oracle-SQL-Syntax. Ich kann nämlich nur so filtern:

Datumsfeld = current_date - interval'1' day z.B. für gestern.

Kann jemand von Oracle-Experten hierzu helfen?

Vielen Dank

Zhuzha

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: