AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi SQL Abfrage - Datum zwischen X und Y
Thema durchsuchen
Ansicht
Themen-Optionen

SQL Abfrage - Datum zwischen X und Y

Ein Thema von Major1337 · begonnen am 14. Sep 2009 · letzter Beitrag vom 17. Sep 2009
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
Major1337

Registriert seit: 26. Jul 2009
158 Beiträge
 
#1

SQL Abfrage - Datum zwischen X und Y

  Alt 14. Sep 2009, 12:52
Datenbank: Oracle • Zugriff über: ODAC
Hi,

ich möchte über das eine Editfeld abfragen "Datum von" und mit dem anderen Editfeld "Datum bis" .
Mit welcher SQL Abfrage kann ich nun diese beiden Parmeter vergleichen und mir die Werte auslesen lassen?

Mfg
Major
  Mit Zitat antworten Zitat
Klaus01
Online

Registriert seit: 30. Nov 2005
Ort: München
5.754 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: SQL Abfrage - Datum zwischen X und Y

  Alt 14. Sep 2009, 13:03
sollte das im Prinzip nicht in etwa so gehen:

select * from table where date > dateFrom and date < dateTo Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von mikhal
mikhal

Registriert seit: 11. Sep 2003
Ort: Linz am Rhein
795 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: SQL Abfrage - Datum zwischen X und Y

  Alt 14. Sep 2009, 13:04
Variante 1: datum between :wert1 and :wert2
Variante 2: datum >= :wert1 and datum <= :wert2

Denk bei den Vergleichen aber daran, dass der Datentyp DATE auch die Uhrzeit enthält. Zweckmäßigerweise solltest du den Nachkommateil mit TRUNC(datum) abschneiden.

Grüße
Mikhal
Michael Kraemer
Computer erleichtern die Arbeit...
...und die Erde ist eine Scheibe!
  Mit Zitat antworten Zitat
Major1337

Registriert seit: 26. Jul 2009
158 Beiträge
 
#4

Re: SQL Abfrage - Datum zwischen X und Y

  Alt 14. Sep 2009, 13:16
Delphi-Quellcode:
// DATE FROM
if DesEdit2.Text <> 'then

SmartQuery1.SQL.Add('');
end;


//DATE END;
if DesEdit3.Text <> 'then
begin

SmartQuery1.SQL.Add('');
end;


ICh habe ja zwei Felder in denen ich eine SQL-Abfrage machen muss und es kann auch vorkommen das man auch nur mal wissen will "Datum von" ohne die Angabe bis oder anderst herum.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: SQL Abfrage - Datum zwischen X und Y

  Alt 14. Sep 2009, 13:17
Dann baust Du Dir den SQL-String dynamisch zusammen und setzt die Parameter entsprechend.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von mikhal
mikhal

Registriert seit: 11. Sep 2003
Ort: Linz am Rhein
795 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: SQL Abfrage - Datum zwischen X und Y

  Alt 14. Sep 2009, 13:24
ODAC stellt Macros zur Verfügung. Damit kannst du dir den Auswerteteil zusammensetzen:
SQL-Code:
  SELECT
    ...
  FROM
    TABELLE
  WHERE
    ...
    $DATUMVERGLEICH
in deinem Quelltext stellst du das Macro dann zusammen:

Delphi-Quellcode:
  ...
  if MySmartQuery.Active then
    MySmartQuery.Close;
  if DesEdit2.Text <> 'then
    MySmartQuery.MacroByName.Value = ' AND TRUNC(Datum) = ' + Trunc(StrToDate(DesEdit2.Text));
  ...
  MySmartQuery.Open;
Grüße
Mikhal

[edit=mkinzler]Code-Tags durch SQL und Delphi-Tag ersetzt Mfg, mkinzler[/edit]
Michael Kraemer
Computer erleichtern die Arbeit...
...und die Erde ist eine Scheibe!
  Mit Zitat antworten Zitat
Major1337

Registriert seit: 26. Jul 2009
158 Beiträge
 
#7

Re: SQL Abfrage - Datum zwischen X und Y

  Alt 14. Sep 2009, 13:35
gibt es da keine einfache Lösung ohne diese date (routine) ?
Wenn man z.B. jetzt alle IP Adressen herausfinden will die zwischen 232.18.147.53 und 288.92.141.55 liegen, wie würde man das denn machen?
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#8

Re: SQL Abfrage - Datum zwischen X und Y

  Alt 14. Sep 2009, 14:48
Evtl. würde es sich anbieten, die IP-Adressen in einem anderen Format (z.B. als Integer) in der DB zu speichern.
Frederic Kerber
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: SQL Abfrage - Datum zwischen X und Y

  Alt 14. Sep 2009, 15:39
Als String sollten die Adressen auch zu vergleichen sein
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: SQL Abfrage - Datum zwischen X und Y

  Alt 14. Sep 2009, 16:30
Aber ob man so alle "Zwischen-IPs" bekommt?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


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 15:12 Uhr.
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