Като документация казва:
Не казва нищо за размяната на start_expression и end_expression, за да съответстват на min и max стойности. Трябва да очаквате документирания резултат, а не както смятате, че трябва.
За любопитните, стандартът ANSI SQL99 указва, че предикатът BETWEEN трябва да включва клауза за SYMMETRIC или ASYMMETRIC сравнение. Само SYMMETRIC има право да разменя началния_диапазон и крайния_диапазон, ASYMMETRIC се изисква да бъде строг. АСИМЕТРИЧНАТА форма е неявната форма. С други думи реализация, която интерпретира A BETWEEN X and Y
като (A>=X AND A<=Y) OR (A>=Y AND A<=X)
, както предлага OP, не е съвместим със стандарта.