Datums Abfrage auf 2 Felder

ewc1111

Benutzer
Beiträge
20
Hallo..beschäftige mich noch nicht allzulang mit dem Thema SQL aber nun habe ich eine Aufgabe bekommen die mich gerade etwas verzweifeln lässt. Es gibt in einer Tabelle Datensätze mit 2 Datumsfeldern. Firma.Insdate und Firma.Update. Die Aufgabe: Es soll ein täglicher Export stattfinden der mir nur die Datensätze exportiert die heute geändert wurden und neu eingefügt wurden. Diese Abfrage gibt mir aber immer nur das Insdate zurück. Das Update nicht...was mache ich hier falsch ?

Ich versuche es mit
SELECT XXXX,XXXXX

FROM Firma

WHERE Firma.insdate >= DATEDIFF(DAY, 0, CURRENT_TIMESTAMP)

AND Firma.insdate < DATEDIFF(DAY, -1, CURRENT_TIMESTAMP)
and Firma.upddate >= DATEDIFF(DAY, 0, CURRENT_TIMESTAMP)
AND Firma.upddate < DATEDIFF(DAY, -1, CURRENT_TIMESTAMP)

Hat jemand eine Idee ? Wäre echt sehr dankbar für einen Tipp..
Achja..SQL Server 2012
 
Werbung:

akretschmer

Datenbank-Guru
Beiträge
9.523
Hallo..beschäftige mich noch nicht allzulang mit dem Thema SQL aber nun habe ich eine Aufgabe bekommen die mich gerade etwas verzweifeln lässt. Es gibt in einer Tabelle Datensätze mit 2 Datumsfeldern. Firma.Insdate und Firma.Update. Die Aufgabe: Es soll ein täglicher Export stattfinden der mir nur die Datensätze exportiert die heute geändert wurden und neu eingefügt wurden. Diese Abfrage gibt mir aber immer nur das Insdate zurück. Das Update nicht...was mache ich hier falsch ?

Wie erkennt man die? Ist da entweder insdate = heute ODER update = heute?

Vielleicht wäre es besser, Du führst ein Feld mit, welches anzeigt, daß der Expert schon erfolgt ist. Das setzt Du, wenn der Export gelaufen ist.
 

ewc1111

Benutzer
Beiträge
20
Wie erkennt man die? Ist da entweder insdate = heute ODER update = heute?

Vielleicht wäre es besser, Du führst ein Feld mit, welches anzeigt, daß der Expert schon erfolgt ist. Das setzt Du, wenn der Export gelaufen ist.
Hallo..also lege ich eine Neue Firma an wird in das Feld INSDATE das heutige Datum eingetragen.Das Feld UPDDATE bleibt dabei unberührt.

Ändere ich aber irgendwas an einem bestehenden Kunden wird dies im Feld UPDDATE als Datum eingetragen und aktualisiert.
 

ukulele

Datenbank-Guru
Beiträge
4.644
Also in etwa sowas:
Code:
SELECT    *
FROM    Firma
WHERE    Firma.insdate BETWEEN getdate()-1 AND getdate()
OR        Firma.upddate BETWEEN getdate()-1 AND getdate()
Das wird aber auch immer ungenau sein es sei denn, du hast Datum und Uhrzeit des letzten Exports und selbst dann kann es theoretisch zu Überschneidungen kommen.
 
Werbung:

akretschmer

Datenbank-Guru
Beiträge
9.523
Also in etwa sowas:
Code:
SELECT    *
FROM    Firma
WHERE    Firma.insdate BETWEEN getdate()-1 AND getdate()
OR        Firma.upddate BETWEEN getdate()-1 AND getdate()
Das wird aber auch immer ungenau sein es sei denn, du hast Datum und Uhrzeit des letzten Exports und selbst dann kann es theoretisch zu Überschneidungen kommen.

Siehe mein erstes Posting, 2ter Teil.
 
Oben