Verwendung von Betreiber im Zusammenhang mit varchar-Werten

In einem sql wo Zustand gibt es einen Wert wie unten

select * from tabl where code not between 'A00' and 'B99' 

wie funktioniert das? bis jetzt dachte ich, es funktioniert nur mit numerisch und datum

Der BETWEEN-Betreiber wird diese als Varchars behandeln und die Vergleichsregeln entsprechend anwenden:

ZWISCHEN kehrt TRUE zurück, wenn der Wert von test_expression größer oder gleich dem Wert von begin_expression ist und kleiner oder gleich dem Wert von end_expression ist.

SQL verwendet eine list der ASCII-Codes, um zu bestimmen, welche wo und in welcher Reihenfolge sortiert wird.

Genauso wie ORDER BY auf varchar Werten arbeitet.

Jeder char hat seinen ASCII Code und Sortierreihenfolge, so dass jeder Wert durch seinen ASCII Code verglichen werden kann.