No meu aplicativo, existem alguns modelos de expressão predefinidos que podem ser usados para filtrar dados. Um deles é " between x and y". Um engenheiro de controle de qualidade afirma que há um defeito em sua definição porque " between 100 and 200" fornece resultados diferentes de " between 200 and 100". A expressão é traduzida internamente para " value >= x and value <= y", portanto, obviamente não há resultados quando o segundo limite é mais baixo que o primeiro. Eu verifiquei que o mesmo comportamento está no SQL - " between x and y" assume que y> = x ou não há resultados. Isso significa que o operador não é comutativo, pelo menos no SQL.
Então, o controle de qualidade está certo de que " between x and y" deve ser comutativo?
betweendeve incluir ou excluir os valores mais altos e mais baixos. A pessoa do controle de qualidade pode ser pedante, mas enquanto houver incerteza, alguém precisará esclarecer as histórias / requisitos do usuário. Pode acontecer que da maneira como é feito, como deveria ser, mas é necessário tomar uma decisão.