AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Jahrestage innerhalb der nächsten x Tage abfragen
Thema durchsuchen
Ansicht
Themen-Optionen

Jahrestage innerhalb der nächsten x Tage abfragen

Ein Thema von smudo · begonnen am 13. Okt 2006 · letzter Beitrag vom 17. Okt 2006
Antwort Antwort
smudo

Registriert seit: 6. Sep 2005
Ort: Cottbus
362 Beiträge
 
Delphi XE2 Professional
 
#1

Re: Jahrestage innerhalb der nächsten x Tage abfragen

  Alt 13. Okt 2006, 15:27
Ich hab mir mal ein paar SPs dafür gebastelt, mit denen ich an daa Ergebnis komme:

SQL-Code:
ALTER PROCEDURE CHANGEYEAR (
    OLDDATE DATE,
    NEWYEAR INTEGER)
RETURNS (
    NEWDATE DATE)
AS
begin
  NEWDATE = cast((extract(day from OLDDATE) || '.' || extract(month from OLDDATE) || '.' || NEWYEAR) as date);
  suspend;
end
Ändert das Jahr eines Datums auf NewYear

SQL-Code:
ALTER PROCEDURE GETRELATIVEDATE (
    BASICDATE DATE,
    COMPAREDATE DATE)
RETURNS (
    OUTDATE DATE)
AS
begin
  select newdate from CHANGEYEAR(:BASICDATE, 2000) into BASICDATE;
  select newdate from CHANGEYEAR(:COMPAREDATE, 2000) into OUTDATE;
  if (OUTDATE < BASICDATE) then
    select newdate from CHANGEYEAR(:OUTDATE, 2004) into OUTDATE;
  suspend;
end
hängt bei in der Vergangenheit liegenden Jahrestagen das Jahr 2004 bei allen ab heute eine 2000 an.
2000 und 2004 wegen Schaltjahr, um eventuelle 29.2. umwandeln zu können.


SQL-Code:
ALTER PROCEDURE GETNEXTDAYS (
    MAXDATES INTEGER,
    STARTDAT DATE)
RETURNS (
    NAME VARCHAR(35),
    DATUM DATE)
AS
DECLARE VARIABLE COUNTER INTEGER;
begin
  COUNTER = 0;

  for select p.NAME, p.DATUM
  from PERSONDATES p
  order by (select outdate from GETRELATIVEDATE(current_date, p.DATUM))
  into :NAME, :DATUM
  do
  begin
    if (COUNTER < MAXDATES) then suspend;
    COUNTER = :COUNTER + 1;
  end
end
Liefert mir die nächsten x Ereignisse. Das ganze auf die nächsten x Tage zu beschränken, sollte damit ebenfalls kein Problem sein.

Falls das jemand viel zu umständlich findet und 'ne bessere Idee hat: Immer her damit.

René
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:04 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