- - PR -
SQLserver2005 SQL文のパラメータに演算子を代入したい。
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-10-28 17:27
お世話になっております。
SQL Server2005 + vb.netで開発をしております。 SQL文のパラメータに、演算子(<=や>=)を代入する事はできないでしょうか? 下記のようなSQL文がありまして、@inputに数値が入ってきます。 そこで、@enzanの部分で、>= もしくは <= を代入させて、以上を出すモード/以下を出すモードという切替をしたいという希望があります。 select * from 価格リスト where 値段 @enzan & @input; お知恵をお借りできれば幸いです。 よろしくおねがいします。 | ||||
|
投稿日時: 2008-10-28 17:42
パラメータで置き換えるのではなくて
vb.net で SQL 文を生成する時に置き換えるのでは駄目ですか? | ||||
|
投稿日時: 2008-10-28 18:06
if @hantei='>='
select * from 価格リスト where 値段 >= @input else select * from 価格リスト where 値段 <= @input とかではだめですか? | ||||
|
投稿日時: 2008-10-28 18:24
誰かが書く前に。
select * from 価格リスト where 値段 >= @input AND @hantei = '>=' OR 値段 <= @input AND @hantei = '<=' とか。 | ||||
|
投稿日時: 2008-10-29 11:18
シビアなチューニングが要求されないのであれば・・・
以上 = 1、以下 = -1で渡すという方法もあります。
| ||||
|
投稿日時: 2008-10-29 16:35
おかげ様で、希望の機能が実現できました。皆様ありがとうございました。
Kingさま> ありがとうございました。 構造上、SQL内でなんとかしないといけなかった為、試行錯誤していました。 めだかさま> if文を使用する方法、大変勉強になりました。ありがとうございます。 今後if文にも視野を広げてゆきたいです。 よっしーさま> ありがとうございました。 よっしーさまの手法で、なんとかクリアできました。大変お世話になりました。 かつのりさま> ありがとうございます。 1と-1を使用するという考え方、大変勉強になりました。 いろいろな場面で使えそうですね。 新しい考え方を得ることができました。 |
1