PL/SQL “between x and y” does not work, if y < x. Why?

后端 未结 3 1699
离开以前
离开以前 2020-12-20 20:13

I have a PL/SQL code like:

case when column between 201203 and 201201
then other_column
end

I know that there are values in column that are

3条回答
  •  天涯浪人
    2020-12-20 20:55

    Consider

    val1 between val2 and val3
    

    as

    (val1 >= val2) and (val1 <= val3)
    

    Then what we have?

    column between 201203 and 201201
    

    is the equivalent to

    ( column >= 201203 ) and (column <= 201201)
    

    If the column value is, let's say, 201202 then the first condition ( column >= 201203 ) will be false and the second one also will be false. That is why you are not getting any results. Find out more.

提交回复
热议问题