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?