![]() |
Datenbank: MS SQL Server Express • Zugriff über: ADO
Datum aus DB Datensatz in dieser Woche / Monat
Hallo,
ich müsste per SQL Datensätze filtern. Und zwar möchte ich alle Datensätze auswählen deren Datum "Heute / In dieser Woche / In diesem Monat" liegt. Wie mache ich das am besten? Gibt es da besondere SQL Befehle die ich nutzen kann, oder muss ich per Delphi irgendwie ermitteln welchen Datumsangaben z.B. die Woche eingerenzen und dann per SQL Between Befehl die Datenbank abfragen?
SQL-Code:
Ich hoffe es gibt da einen einfacheren Weg...
SELECT * FROM TB_Issues Where DueDate between ('01.01.2005') and ('01.01.2007');
Thanx Marcus |
Re: Datum aus DB Datensatz in dieser Woche / Monat
SQL-Code:
Extract(Year/month from ...)
|
Re: Datum aus DB Datensatz in dieser Woche / Monat
Mit Extract bekomme ich es nicht hin, so gehts aber auch:
SQL-Code:
SELECT * FROM TB_Issues
WHERE MONTH(DueDate) = MONTH(GETDATE()); |
Re: Datum aus DB Datensatz in dieser Woche / Monat
Hallo,
dein MONTH könnte aber performance-Probleme bringen, weil vielleicht kein Index benutzt werden kann. Ich ermittle Start- und Enddatum immer selber und mache dann ein Where (RecDate>=:StartDate) and (recDate<=:EndDate) Heiko |
Re: Datum aus DB Datensatz in dieser Woche / Monat
@hoika: kannst du mir ein paar tipps geben wie du ermittelst ob ein Datum in dieser Woche / Monat liegt? Mir fällt da gerade gar kein Ansatz ein wie ich ran gehen soll.
Mir ist nämlich aufgefallen das es z.B. kein SQL WEEK Befehl gibt. Außerdem wäre die "Between" funktion flexibler.... @mkinzler: Wie soll das mit "EXTRACT" funktionieren. Das verstehe ich noch nicht so ganz. |
Re: Datum aus DB Datensatz in dieser Woche / Monat
Zitat:
versuche es mal so:
Delphi-Quellcode:
Für den Monat dann mit
uses
DateUtils; procedure TDemo_Form.btn_ThisWeekClick(Sender: TObject); var first_date_of_the_week: TDate; last_date_of_the_week: TDate; begin first_date_of_the_week := StartOfTheWeek(date); last_date_of_the_week := EndOfTheWeek(date); ShowMessageFmt('Diese Woche geht vom %s bis zum %s', [DateToStr(first_date_of_the_week), DateToStr(last_date_of_the_week)]); end; ![]() ![]() |
Re: Datum aus DB Datensatz in dieser Woche / Monat
Moin Sharky,
das sind ja super Funktionen :) Danke! Ich implementier das gleich mal... Gruß Marcus |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:41 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz