En mi aplicación, hay algunas plantillas de expresión predefinidas que se pueden usar para filtrar datos. Uno de ellos es " between x and y
". Un ingeniero de control de calidad afirma que hay un defecto en su definición, porque " between 100 and 200
" da resultados diferentes que " between 200 and 100
". La expresión se traduce internamente a " value >= x and value <= y
", por lo que obviamente no hay resultados cuando el segundo límite es más bajo que el primero. Verifiqué que el mismo comportamiento está en SQL - " between x and y
" supone que y> = x o que no hay resultados. Significa que el operador no es conmutativo, al menos en SQL.
Entonces, ¿es correcto el control de calidad que " between x and y
" debería ser conmutativo?
between
debe incluir o excluir los valores inferiores y superiores. La persona de control de calidad puede ser pedante, pero siempre que haya incertidumbre, alguien necesita aclarar las historias / requisitos del usuario. Podría resultar que la forma en que se hace es como se supone que debe ser, pero hay que tomar una decisión.