Einzelnen Beitrag anzeigen

Robert_G
(Gast)

n/a Beiträge
 
#3

Re: Zahlenbereich vergleichen

  Alt 11. Mär 2004, 12:29
Wenn es sich auf diesen Thread von dir bezieht, dann:

SQL:
SQL-Code:
SELECT PLZ_Tab.PLZ
      ,Adr_Tab.Adresse
      ,Adr_Tab.Name
      ,Adr_Tab.Vorname
FROM DeineTabelle Adr_Tab
      ,DeinPLZTabelle PLZ_Tab
WHERE PLZ_Tab.ID = Adr_Tab.ID And
       Cast(PLZ_Tab.PLZ As Number(5))
         Between :i_MinPLZ And :i_MaxPLZ
In Delphi:

Delphi-Quellcode:
With Query Do
Begin
  SQL.Text :=
    'SELECT PLZ_Tab.PLZ' + #10 +
    ' ,Adr_Tab.Adresse' + #10 +
    ' ,Adr_Tab.Name' + #10 +
    ' ,Adr_Tab.Vorname' + #10 +
    'FROM DeineTabelle Adr_Tab' + #10 +
    ' ,DeinPLZTabelle PLZ_Tab' + #10 +
    'WHERE PLZ_Tab.ID = Adr_Tab.ID And' + #10 +
    ' Cast(PLZ_Tab.PLZ As Number(5))' + #10 +
    ' Between :i_MinPLZ And :i_MaxPLZ';
  // Statement parsen, damit die Variablen erkannt werden
  Prepared := True;
  // Übergabe der Werte für die 2 Variablen
  With Params Do
  Begin
   ParamByName('i_MinPLZ').AsInteger := StrToInt(edtMinPLZ.Text);
   ParamByName('i_MaxPLZ').AsInteger := StrToInt(edtMaxPLZ.Text);
  End;
  // Ausführen...
  Open;
  
  While not Eof Do
  Begin
    // tu was ...
    Next;
  End;
End;
Nachtrag: "Cast(PLZ as Number(5))" bewirkt, dass die PLZ als eine 5-stellige Zahl behandelt wird.
"between" funktioniert auch mit Buchstaben (das Ergebnis würde hier keinen Sinn ergeben)
  Mit Zitat antworten Zitat