Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi SQL Befehl zum Ausgeben von daten in einen bestimmten Bereic (https://www.delphipraxis.net/25099-sql-befehl-zum-ausgeben-von-daten-einen-bestimmten-bereic.html)

Kruemel2oo2 1. Jul 2004 07:51


SQL Befehl zum Ausgeben von daten in einen bestimmten Bereic
 
Hio könnte mir mal bitte einer sagen wie der Befehl für SQl ist um einen bestimmten Bereich auszugeben also z.B. Bereich von 23.11.2003 - 25.11.2003 <<< diesen Bereich möchte ich nur sehn.

gruß Kruemel

Bernhard Geyer 1. Jul 2004 08:16

Re: SQL Befehl zum Ausgeben von daten in einen bestimmten Be
 
select * from MeineTabelle
where MeinDatumsfeld => '23.11.2003' and MeinDatumsfeld <= '25.11.2003'

Je nach DB-System und genauen Feld-Typ muss evtl noch die Zeit mit angegeben werden '23.11.2003 00:00:00' bzw. mit Raute getrennt werden (M$ Access) #23.11.2003#.

Kruemel2oo2 1. Jul 2004 08:26

Re: SQL Befehl zum Ausgeben von daten in einen bestimmten Be
 
em kann man dies auch in Kombination machen also ich habe eine Datenbank bzw Tabelle wo ich TAG Monat unfd Jahr einazlnt drin hab. würde das denn auch so gehn. Select from Table where Tag => '...' AND TAG <= '...' AND Monat => '...' AND Monat <= '...' AND Jahr =>'...' AND Jahr <= '...'

?? also ich hab zumindestens getestest aba es funzt net aba kann ja sein ich mach was falsch.

Sharky 1. Jul 2004 08:31

Re: SQL Befehl zum Ausgeben von daten in einen bestimmten Be
 
Hai Kruemel2002,

versuche es mal so:
SQL-Code:
SELECT * FROM tabelle
WHERE (tag BETWEEN start AND ende)
 AND (monat BETWEEN start AND ende)
 AND (jahr BETWEEN start AND ende)

Kruemel2oo2 1. Jul 2004 08:43

Re: SQL Befehl zum Ausgeben von daten in einen bestimmten Be
 
hmm funzt uch net ... ich mein ich mach das ja über delphi und will das in ner QuickRep ausgeben.

so sieht das bei mir aus:
Delphi-Quellcode:
Form1.Query1.SQL.Add('select * from Booking where (Tag between"'+Tag1+'"AND "'+Tag2+'")AND(Monat between"'+Monat+'"AND"'+Monat1+'") AND (Jahr between"'+Jahr+'"AND"'+jahr1+'") order by name, Uhrzeit');
könnte sein das da nen fehler drin ist

[edit=sakura] [source]Tags haben wir nicht, aber [delphi] Mfg, sakura[/edit]

Kruemel2oo2 1. Jul 2004 08:53

Re: SQL Befehl zum Ausgeben von daten in einen bestimmten Be
 
[edit=sakura] [source]Tags haben wir nicht, aber [delphi] Mfg, sakura[/edit] <<< verstehe ich net

Sharky 1. Jul 2004 09:29

Re: SQL Befehl zum Ausgeben von daten in einen bestimmten Be
 
Hai,

versuche es mal so:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  with Query1 do
  begin
    Close;
    SQL.Text := 'SELECT * FROM booking' +#10
      + 'WHERE (tag BETWEEN :tag1 AND :tag2)' + #10
      + 'WHERE (moat BETWEEN :monat AND :monat2)' + #10
      + 'WHERE (jahr BETWEEN :jahr1 AND :jahr2)' + #10
      + ' ORDER BY name, uhrzeit';
    ParamCheck := True;
    Params.ParamByName('tag1').Value := Tag1;
    Params.ParamByName('tag2').Value := Tag2;
    Params.ParamByName('monat1').Value := Monat1
    Params.ParamByName('monat2').Value := Monat2
    Params.ParamByName('jahr1').Value := Jahr1
    Params.ParamByName('jahr2').Value := Jahr2;
    Open;
  end;
end;
P.S.: Ich denke Sakura meinte das die Tags nicht [ source] [ /source] heissen sondern [ delphi] [ /delphi] (Natürlich ohne die Leerzeichen)

DP-Maintenance 1. Jul 2004 09:30

DP-Maintenance
 
Dieses Thema wurde von "Sharky" von "Programmieren allgemein" nach "Datenbanken" verschoben.
Ist in der Datenbanksparte besser aufgehoben ;-)

sakura 1. Jul 2004 09:31

Re: SQL Befehl zum Ausgeben von daten in einen bestimmten Be
 
Zitat:

Zitat von Sharky
P.S.: Ich denke Sakura meinte das die Tags nicht [ source] [ /source] heissen sondern [ delphi] [ /delphi] (Natürlich ohne die Leerzeichen)

Korrekt ;)

...:cat:...

sakura 1. Jul 2004 09:36

Re: SQL Befehl zum Ausgeben von daten in einen bestimmten Be
 
Nun aber mal zu Sharkys Ansatz. Wenn die Datumspanne mal etwas größer wird, dann ist dieser wohl falsch ;-)

Ein Beispiel:
Code:
Alle Daten zw. dem 20.06.2003 und 27.08.2003
Wir sind uns einig, daß sowohl der 25.07.2003 und der 04.08.2003 dazwischen liegen.

Nach Sharky wäre aber:

Der [i]25.07.2003[/i]
2003 <= 2003 <= 2003   - TRUE
  06 <=  07 <=  08   - TRUE
  20 <=  25 <=  27   - TRUE
Datum ist korrekt überpüft

Der [i]04.08.2003[/i]
2003 <= 2003 <= 2003   - TRUE
  06 <=  08 <=  08   - TRUE
  20 <=  04 <=  27   - [b]FALSE[/b]
Damit würde das zweite Datum durchfallen obwohl dieses korrekt ist.
Kann sein, daß ich mich irre, SQL ist nicht mein Ding, aber wenn nicht :mrgreen:

...:cat:...


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:44 Uhr.
Seite 1 von 4  1 23     Letzte »    

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