November 2019

S M T W T F S
      12
34 5 678 9
10111213141516
17181920212223
24252627282930

Style Credit

Expand Cut Tags

No cut tags
Tuesday, September 27th, 2005 04:13 pm
вот есть привычный оператор between, который обычно употребляется так:
... WHERE field BETWEEN expr1 AND expr2.

А если его употребить наоборот, например, WHERE expr BETWEEN field1 AND field2, то оно а) будет ли работать? б) везде? в) насколько совместимо с каким-нибудь стандартом языка?

Наводка: в MS SQL работает, я проверял.
Tuesday, September 27th, 2005 03:49 pm (UTC)
Соответствует стандарту SQL92. Любой правильный парсер SQL-я преобразует expr1 BETWEEN expr2 AND expr3 в (expr1 >= expr2) AND (expr1 <= expr3).
Tuesday, September 27th, 2005 03:55 pm (UTC)
Тогда уж должно быть примерно так:
expr1 BETWEEN expr2 AND expr3 в (expr1 >= min(expr2, expr3)) AND (expr1 <= max( expr2, expr3))