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?
between
deve 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.