Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   DATEDIFF ohne Wochenenden (https://www.delphipraxis.net/180586-datediff-ohne-wochenenden.html)

youuu 31. Mai 2014 21:28

AW: DATEDIFF ohne Wochenenden
 
Delphi-Quellcode:
Query.SQL.Text := 'Select P.status, P.kd, P.rn, P.rechnung_datum, P.preis_netto, P.verzug_status, P.rechnung_start_datum, '+
                      'K.firmenname, K.land, K.firma_intern, K.anmerkung, '+
                      'FROM '+DB_KUNDENDATEN+' AS K, '+DB_POSITIONEN+' AS P '+
                      'WHERE (K.kd = P.kd) '+
                      'AND (P.rechnung_start_datum < now()) '+
                      'AND (DATEDIFF(now(), P.rechnung_start_datum) > 26) // Wochentage werden noch dazu gerechnet

Dejan Vu 31. Mai 2014 22:41

AW: DATEDIFF ohne Wochenenden
 
Code:
Select ...
AND (select sum(IIF(WeekEnd='weekday',1,0))
       from datum dt
      where dt.Date between p.rechung_start_datum and now()
    ) > 26
Aber noch besser ist es, eine Spalte 'workingDayCount' in der Datum-Tabelle einzufügen. Der erste Arbeitstag der Tabelle ist 0, der zweite ist 1 usw. Bei Wochenenden wird nicht hochgezählt.
Dann wird das noch schneller, weil Du dann nur noch ein Join brauchst (und eine Variable)

Code:
select WorkingDayCount into :WorkingDayCount from Datum dt where dr.Date=now()
select ....
   join Datum dt on dt.Date = p.rechnung_start_datum
...
where
 ... and dt.WorkingDayCount <= :WorkingDayCount - 26
Bei der Syntax bin ich mir nicht sicher, denn ich kann kein mySQL.

youuu 31. Mai 2014 23:21

AW: DATEDIFF ohne Wochenenden
 
Dejan Vu Klasse es funktioniert. Danke hab ich etwas dazu gelernt und bin für das nächste mal mit der Tabelle gewappnet.
Das mit den IF Anweisungen in der Abfrage muss ich mir auch mal genauer ansehen, hab das vorher noch nie gehabt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:55 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz