0

レコードを含むテーブル X があります。

rec# start end 
===============
100  2000  2020 
101  2004  2005 
102  2006  2007

私は試します:

            SELECT * from X where start >= 2004 and end <= 2005;

            SELECT * from X where start BETWEEN 2004 and 2005;

どちらの場合も、(正しく) 結果として rec# 101 を取得します。ただし、範囲 (2004-2005) は 2000-2020 レコードに含まれているため、rec# 100 も取得する必要があります。

助けてくれてありがとう...

4

1 に答える 1

0

あなたの不等式は間違った方向にあるようです:

SELECT * FROM X WHERE start <= 2004 AND end >= 2005

これにより、 intervalを含むすべてのレコードが返されます[2004,2005]

sqlfiddleで参照してください。

于 2013-01-23T19:53:14.010 に答える