• 締切済み

SQLServerにて複数のデータで条件指定したい

SQLServer 2008です。 Where 句をつかって Where str like 'A%' ということをしますよね 次に引数を使って WHERE str like @STR として @STR = 'A%' を 渡すことができるところまではわかりました。 では、 'A%','B%' や、 'A%', 'C%', 'D%'のように 複数を指定して処理結果を得るためにどうすればよいのでしょうか? 要するに WHERE str like @STR[] とかのように配列を指定するとか、もしくは別の方法があれば 教えてください。 WHERE str like @STR1 or str like @STR2 : or str like @STRn みたいにして n=100ぐらいにしておけばまず大丈夫だろう・・・ みたいなことするのでしょうか?

みんなの回答

回答No.1

最後のorで繋げる方法を取ります。実際にはプログラミング言語を使ってSQLを組み立てるので、個数が多くてもさほど苦労は有りません。

MetalDragon
質問者

補足

遅くなって申し訳ありません。 プログラム言語を使ってSQLを組み立てる ということなのでしょうが。 プログラム言語を使って クエリビルダの内容を書き換える方法が わかりません。 ネットで調べてもわからなかったのですが どうすればよいのでしょうか?

関連するQ&A

  • オラクルではできるのにSQLSERVERではサブクエリーで複数キーを指定できない?

    サブクエリーで複数キーを指定したいです。例えば以下のようなSQLですが、 SQL> > select * from テーブルA > where (key1,key2) in (select key1,key2 from テーブルB) このSQLはオラクルでは実行できますが、SQLSERVERでは文法エラーになってしまいます。SQL SERVER ではサブクエリーで複数キーを指定するのは不可能なのでしょうか?

  • SQLServer2000 SQL文について

    SQLServer2000 SQL文について Where句内で、このような演算指定はできますか? できない場合このようなSQLを実行したい場合 他にどのような方法が考えられますでしょうか? select a.id from a,b where a.yymm = b.yymm-1

  • AccessVBAでSQLServerのデータを操作する際のlikeについて

    いつもお世話になっております。 タイトルの件なのですが、Accessのフォームを作成しました。 実行ボタンを押下すると入力した内容を元に、SQL文を作成してSQLServerのデータベースを操作するという内容です。 以下の順番で操作しています。 (1)該当データの件数を取得 (2)該当データをAccess上の一時テーブルに挿入 (3)該当データを更新 入力項目の1つが前方一致ですので、Where文に 項目名 like '入力内容%' といったlike演算子を含む分があります。 Where句は(1)~(3)全てで同じものを使用しています。 ですが、(1)(2)はこの文で問題なく実行できるのですが、(3)のみ実行できません。 同じWhere句を使っているのに、何故このような違いが起きるのでしょうか? 詳しい事は初心者なので分からないのですが、 DAOを使用してExecuteでSQL文を実行しています。

  • 変数を配列に格納する時に、二つの条件を指定すること

    変数を配列に格納する時に、二つの条件を指定することはできますか? VBAです。 Private Sub test() Dim i As Long Dim Str As String Dim tmp As Variant Str = "a,i,u-e-o" tmp = Split(Str, ",") '配列に格納する For i = LBound(tmp) To UBound(tmp) Debug.Print tmp(i) Next i End Sub の場合、結果が a i u-e-o になってしまいます。 tmp = Split(Str, "," or "-") のようなことをして a i u e o と表示させたいです。 "a,i,u-e-o"を"a,i,u,e,o"にすることはできません。ご教授よろしくお願いします。

  • EXCEL2000で、グラフのデータ元を複数の範囲で指定するには??

    続きざまに質問させていただきます。EXCEL2000でグラフを作成するマクロ構文 例)~.Chart.SetSouceData Range(*****),xlColumns で、「*****」の中に入力するデータの範囲が"可変"であり、なおかつ複数の範囲(例えば A1:B5とD1:D5 のように)を指定することをしたいのですが、どのようにすれば、実現ができますでしょうか? Range()の引数はカンマで区切って2コの引数しか使用できません。 ですので、考え方としては、表示したい複数の範囲が収まる一つの範囲として、グラフを作成、→ 表示をしたくないデータ系列を削除する?? でいいのかなぁ??と思ったんですけど私のVBAハンドブックでは全く歯が立たないです。。。どなたかよろしくお願い致します。

  • like検索の複数キーワードで、プレースホルダを利

    like検索の複数キーワードで、プレースホルダを利用するやり方が分からないので教えてください <やりたいこと> ・複数キーワード検索(東京 hoge) <現状、出来ていること> ・1単語キーワード検索(東京) <分からないこと> ・配列として処理すれば良いみたいなのですが、プレースホルダとの絡みでどうすればよいのか分かりません <環境> ・MySQL ・PDO <現状コード抜粋> public function search($keyword)  {  $sql = "   SELECT a.*     FROM hoge a      WHERE (honbun LIKE :keyword)      ";  $keyword ="%".$keyword."%";

    • ベストアンサー
    • PHP
  • MYSQLで期間指定の条件式の書き方教えてください

    毎週火曜日と木曜日に定期巡回便が出ます。 まとめて前準備しておくお荷物を抽出したいのですが 日付の条件抽出の仕方で教えてください たとえば・・・Excelのワークシート関数だと A1=2016/11/3 とすると A1+CHOOSE(WEEKDAY(A1,1),2,1,0,1,0,4,3),"m/d" から A1+CHOOSE(WEEKDAY(A1,1),3,2,1,5,4,5,4),"m/d" までという数式になります。 上の例だと11/3木に用意しておくのは11/3木から11/7月までの品 というふうに条件指定してみたいのですが これをMYSQLのwhere句側でSQL文で書くと、どうなりますでしょうか? where 指定日 between 条件式1 and 条件式2 の条件式の書き方がわかりません。 どなたか教えていただけますでしょうか?

  • mysql IN句に1データだけ指定は問題有ですか

    IN('xxx','sss',~)と複数データを指定するのがIN句の使い方ですが、 SELECT * FROM `tabledate` WHERE ~ ff IN('xxx') ~; というように1つだけ指定でも問題はありますか?

    • ベストアンサー
    • MySQL
  • エクセル、ROWNDDOWNの複数条件について

    ROUNDDOWNの複数の条件を指定したい場合について教えてください。 A 19000 B 0.5 C 19000*0.45 A 19000 B 0.75 C 19000*0.75                 ABCのセルに上記のような数値が入っている場合、Cの計算結果の値をROUNDDOWNを使用し端数処理をしています。 10000未満は-1、100000未満は-2、1000000未満は-3の端数処理をしたいのですが、データが多く複数ある場合に、複数条件を指定し、一括コピペしたいと考えています。その場合、どのような数式が可能でしょうか。 数式は、Cのセルに入力したいです。 Cのセルに計算結果とともに、端数処理もしたいです。 宜しくお願い致します。

  • 複数条件による検索

    現在strutsを使用した「検索フォーム」を作成しています。 検索項目は6つあり、それぞれNOT NULLの項目と、NULL可の項目が あります。 全部NOT NULLですと、WHERE句で 「WHERE 項目A = '%?%'」 を条件にすればよいと思うのですが、NULL可の場合は 「WHERE 項目B = '%?%' OR 項目 IS NULL 」 となると思います。 しかしこれですと項目Bに検索条件で入力したものと NULL値のものが両方ヒットしてしまいます・・・ うまく文章がまとまらなくてとても恐縮ですが、 うまく構文を作る方法はないでしょうか・・・。 よろしくお願いします。