2011-11-14 9 views
3

私は、特定のソース値を持つすべての値を、次のようなコード を使用して選択しようとしています。IN()のシーケンスを使用する

l.sub IN('12480','12481') 

ただし、サブが値10921-12480を含むすべてのものが必要です。 これらの値をそれぞれ入力せずにすばやく選択する方法はありますか。

ありがとうございました!

+0

l≧10921およびl≧12480? – acm

+0

非常に長いクエリーを送信しないように注意してください。なぜなら、クエリーの長さには制限があるからです。また、非常に長いクエリのパフォーマンスは、解析する必要があるため、低下します。 – rid

答えて

7

l.subが数値タイプの場合、BETWEENを使用できます。

l.sub BETWEEN 10921 AND 12480 
2

では使用しないでください。)そのl.subを想定し

l.sub >= 10921 AND l.sub <= 12480 
2

が文字列では、次の手順を試みることができる:

length(l.sub) = 5 AND l.sub >= '10921' and l.sub <= '12481' 
3

@Raduが言ったことに追加するにはMySQL documentationは、範囲の端での振る舞いがより小さいか等しいかより大きいか等しいということを示します。言い換えれば

expr BETWEEN min AND max 

(min <= expr AND expr <= max) 

と同じでありまたそうでなければ、ワームの型変換缶を開け、種類が同じであることを確認するために言います!

関連する問題