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)