Nella mia applicazione ci sono alcuni modelli di espressione predefiniti che possono essere utilizzati per filtrare i dati. Uno di questi è " between x and y ". Un ingegnere di QA afferma che c'è un difetto nella sua definizione, perché " between 100 and 200 " dà risultati diversi da " between 200 and 100 ". L'espressione è tradotta internamente in " value >= x and value <= y ", quindi ovviamente non ci sono risultati quando il secondo limite è inferiore al primo.
Ho verificato che lo stesso comportamento sia in SQL - " between x and y " presuppone che y > = x o non ci siano risultati. Significa che l'operatore non è commutativo, almeno in SQL.
Quindi, il QA ha ragione che " between x and y " dovrebbe essere commutativo?