SQLの構文で日付を絞り込んでデータを抽出する方法

このQ&Aのポイント
  • SQLの構文でテーブルから日付を絞り込んで抽出する方法について質問です。where句の記述方法についてわからないので教えてください。
  • 例えば、特定の期間のデータを抽出したい場合、どのように指定すればいいのでしょうか?2008/12/01から2008/12/31の期間での抽出方法が知りたいです。
  • SQLを始めたばかりで本を見てもうまくいかないので、詳しい方法を教えていただけると助かります。
回答を見る
  • ベストアンサー

SQLの構文で質問です。

いつもお世話になっております。 SQLの構文で質問です。 テーブルを開いて、データの中から日付を絞って抽出したいのですが、 whereの後にどのような記述をすればいいのかわかりません。 なんとなく『>』を使ってやってみましたがうまく抽出できませんでした。 例えば、2008/12/01~2008/12/31の絞りで抽出できるようにしたいのですが。 SELECT * FROM 日付 WHERE (日付   2008 / 12 / 01    2008 / 12 / 31) すみません、SQLを使い始めて間もなく本を見てはいるのですがうまくいかないもので。 宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • A88No8
  • ベストアンサー率52% (834/1602)
回答No.1

wise123さん、こんにちは 私も勉強中の身なのですが..where の一般的な書き方は、こうじゃないでしょか? where 日付 >= '2008/12/01' and 日付 <= '2008/12/31' 外していたらごめんなさい。

wise123
質問者

お礼

できました。ありがとうございます^^ 『′』で括ればよかったんですね。

関連するQ&A

  • SQLクエリ1年前のデータを削除できない

    現在このクエリを作成したのですがデータが削除されなくて、データ全件が抽出されてしまいます。 以下の構文で試したのですが・・・・もし、ご指摘、アドバイス等ございましたらよろしくお願いします。 select * from テーブル名 delete from テーブル名 where 日付 < = (select DATEADD(year,(-1),(日付))) ちなみに、日付はDATETIMEです   バージョン:SQL management studio 10.50.25.000

  • SQL構文について教えて下さい!

    こんばんわ。 いつもお世話になっております。 ServletでIPアドレスを取得してデータベースに登録してあるデータであって尚且つ、AuthorityというカラムにAかBのどちらかがあるデータを抽出するSQLを作成しているのですが上手くいきません。 教えて下さい!お願いします。 作成中のSQL構文を途中から投稿致します。 String RemoteAdd = request.getRemoteAddr(); try { String sql = "SELECT * FROM Api where (Authority = 'A' OR Authority = 'B') AND IPAddress='"+ RemoteAdd +"'"; PreparedStatement pstmt = conn.prepareStatement(sql); ResultSet rs = pstmt.executeQuery();

  • SQL構文でデータ抽出。

    欲しいデータのみを取得するステートメント (1)select カラム名 from テーブル名 where 条件; という構文を本で見つけたのですが… これの条件をテキスト入力に変更して DBから情報を引っ張ってくることは可能でしょうか?? 可能であればその構文を教えていただけますと幸いです。

  • ユニオンクエリで期間指定抽出のSQL記述について

    いつもお世話になっております。 Access 2007で、「人名集計」テーブルと「資料送付」テーブルがあり、それぞれ、同一のフィールド名でテーブルが作成されております。 これを「発送日」フィールドの昇順で並べ替えながら結合するユニオンクエリを作成しました。 SELECT * FROM 人名集計 UNION ALL SELECT * FROM 資料送付 ORDER BY 発送日; とりあえず、上記のSQLでは動いていますが、このSQLに、 「発送日」の期間を指定して、抽出条件(パラメータ)を加えようとしていますが、うまくいきません。 WHERE句を使って、Between 「最初の日付を入力」 And 「最後の日付を入力」 のような文を SQLの何処にどのように記述すればよいのか、教えてください。 宜しくお願い申し上げます。

  • SQLの外部結合について教えて下さい

    いつもお世話になっています。 SQL構文の外部結合が分らなくて困っています。 どうか教えて下さい。 JSPからString Nam = (request.getParameter("param"));で値を受け取ってその値でT_Tableと一致するデータのSQLを実行します。 SELECT * FROM T_Table where ID='"+ Nam +"' order by 日付 desc この結果とT_TableAの「番号」というフィールドと一致する問い合わせのSQLが分りません。自分なりに考えて作りましたがHTMLの部分の表示だけでレコードが表示されないので間違っているのだと思います。 色々調べてみましたが該当のサンプルがなかったので困っています。 教えて下さい!宜しくお願い致します。 【自分で作成してみたSQLです】 テーブルはSQL Serverです。 "SELECT * FROM T_Table where ID='"+ Nam +"' INNER JOIN where ID='"+ Nam +"' ON [T_Table].[番号] = [T_TableA].[番号] order by 日付 desc"

    • ベストアンサー
    • Java
  • SQL文について質問させて頂きます。

    いつもお世話になっております。いろいろSQL文の本を読んだのですがわからないので今回もよろしく お願い致します。 SELECT DISTINCT * FROM bukken WHERE (id IN (SELECT fid FROM fudou_kodawari WHERE kid IN (1,4))) というSQL文があるのですが、これだと1,4が1つでも含まれるリストが出てくるのですが1,4が完全に一致しないと出てこないようにするにはどのようにSQL文を変更すれば良いのでしょうか? 何卒よろしくお願い致します。

  • 【初歩的な質問ですが・・・】 SQL文書き方がわかりません

    SQLの知識に乏しい者です。 よろしくお願い致します。 ●テーブルA ・会計コード ・年度 ・部署番号 ・社員番号 ・その他幾つかのデータ ※Where句で「年度>2002年」以降を抽出 のテーブルがあります。 この時、Bテーブルで ●テーブルB ・会計コード(主キー) ・年度 ・部署番号(主キー) ・社員番号(主キー) ・その他幾つかのデータ ※Aテーブルで抽出されたデータの中から絞り込む というテーブルを抽出するSQL文を組みたいのですが、効率の良いやり方がわかりません。 副問合せで  Select [B表で抽出した列名…]  From B表  Where 会計コード = (Select 会計コード               From A表               Where 年度 > '2002')  AND 部署番号 = (Select 部署番号             From A表               Where 年度 > '2002') ・・・・以下省略 の様に書くと効率が悪い気がしました。 (実際には、副問合せが6個書くことになるため) 良い書き方を知っている方がいらっしゃいましたら、よろしくお願い致します。

  • SQL ?で終わる

    アクセスのSQL文で、テーブルのフィールドの値が、最後が?で終わるものを抽出したいのですが SELECT テーブル.フィールド FROM テーブル WHERE (((テーブル.フィールド) Like "[*?]")); これだと1件も抽出されません。 Like "[*?]"が間違ってると思うのですが、どうすればいいでしょうか?

  • 抽出した行数を変数に入れたい(オラクルSQL)

    SELECTで抽出した行数を変数に格納したいのですが、上手くいきません。 SQLにあまり経験がなく、ネットで調べながら実践しております。 例えば以下の簡単なSQLを作ったとして、 ---------------------------------------------------- SELECT a,b,c,d,e,f FROM table WHERE c=10 AND e=20; ---------------------------------------------------- ここで抽出した行数を取得し、それを変数に入れたいと思っております。 というのも、後々、抽出したデータの行数を表示したい場合に SELECT COUNT(*) FROM table WHERE c=10 AND e=20; というSQLをその都度入力していては非効率だと思ったからです。 そこで抽出する際に行数を取得し、それを変数に格納して、 行数を表示する処理が今後必要になった際に、その変数を表示すれば良いと考えました。 ですがネットで変数のことを調べた際に VARやDEFINE等のコマンドを見つけましたが、SQLを実行しても上手くいきません。 最初に記載したSQLに、どのような構文を入れたら良いのでしょうか。

  • SQLでのデータチェック方法

    いつもお世話になっております。 SQLでのデータチェック方法について教えてください。 【売上テーブル】 日付、商品、代理店、金額 ---------------------- 5/1 消しゴム AA商店 100 5/1 鉛筆    BB商店 200 5/2 鉛筆    ZZ商店 200 5/2 万年筆  CC商店 150 【商品マスタテーブル】 品名 ----------- 消しゴム 鉛筆 【代理店マスタテーブル】 代理店 ----------- AA商店 BB商店 CC商店 この中で各種マスタに存在しないデータを抽出したいです。 select * from 売上テーブル where 商品 not in (select 品名 from 商品マスタ) or 代理店 not in (select 代理店 from 代理店マスタ) で抽出できるのはわかるのですが、 抽出結果に何故そのレコードが抽出されたのかをわかるようにしたいです。 日付、商品、代理店、金額  理由 ------------------------------- 5/2 鉛筆    ZZ商店 200 代理店マスタに存在しない 5/2 万年筆  CC商店 150 商品マスタに存在しない このような感じで理由も追加することは可能でしょうか? わがままですみません。 よろしくお願いします。