Firebirdのbetween句は、範囲を指定する二つの値は昇順に記述しなくてはならない。
これは昇順に並んでいるので結果を取得できる。
select * from ADDRESS
where POSTCODE between 6900001 and 6900005
これは昇順ではないので結果が空になる。
select * from ADDRESS
where POSTCODE between 6900005 and 6900001
つまり、
between A and B
「AとBの間」ではなく、「A以上B以下」という意味だ。