Hi,
where artikelnummer between '100' AND '500'
bei Varchar-Feldern wird lexikalisch sortiert und verglichen,
die '2' von '2000' ist also größer als die '1' von '100'
und kleiner als die '5' von '500' --> der Datensatz wird ausgewählt.
Wie schon genannt, sollte man für numerische Suche evtl. einen numerischen Feldtypen verwenden
Eine andere Lösung wäre, das Suchfeld links mit entsprechenden Füllzeichen
auf eine maximale Länge zu bringen und dann zu vergleichen.
where right('0000000000'+artikelnummer,10) between ...
Aber Achtung: dadurch wird verhindert, das ein Index auf artikelnummer zur Verwendung kommt!