Einzelnen Beitrag anzeigen

jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#11

AW: Realzahl in Datum wandeln SQLLite

  Alt 27. Mär 2017, 08:43
...Nun möchte ich bei der Suche im Edit1.text
"17.03" eingeben und dann soll er diesen Datensatz finden. Dafür müsste ich den Realwert in Datum wandeln aber wie.
Meine Vorgehensweise aus verschiedenen Gründen.
Das Teildatum so anreichern, dass es ein gültiges Datum ergibt und zwar den Start einer Bereichssuche, korrespondierend einen 2.Wert bauen, der das Ende des Bereiches darstellt.
Ergibt für einen Tagesbereich bspw. solch ein Statement:
Code:
  //delphi pseudocode
  Var startDateRange, endDateRange :TDate
  begin
    startDateRange := EditText+'.2016';
    endDateRange := startDateRange + 1 Tag;
Code:
  --SQL Statement
select * from mytable x where x.mydate between :pStartDate and :pEndDate
Die Anreicherung und Konvertierung des Eingabestrings kann man natürlich auch im SQL Statement selbst durchführen.
Wichtig ist, bestimmte Prinzipien zu berücksichtigen.
Kein Like, sondern Bereichssuche mit ><= oder between im SQL.
Bereichserzeugung (Parameterwerte) geht idR recht einfach, sobald man echte Datumswerte erzeugt hat, dann kan man damit einfach rechnen, das gilt sowohl für SQL als auch für Delphi. In SQL stehen dazu -meist Datenbank spezifisch- eine ganze Reihe von Hilfsfunktionen zur Verfügung.
Gruß, Jo
  Mit Zitat antworten Zitat