• ベストアンサー

SQLサーバにある日付型のデータから特定の曜日を抽出する方法は?

SQLサーバに日付と料金の入ったテーブルがあります。 例えば、下のようなデータがあるとします。 日付            料金 2005/11/08 11:15:00  5000円 2005/11/09 12:00:00  6000円 2005/11/15 15:15:00  4000円 2005/11/16 09:00:00  7000円 このテーブルから火曜日のデータだけを抽出したい場合、 どのようなSQL文を書けばよいのでしょうか? どうぞ、よろしくお願いしますm(_ _)m

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

  • ベストアンサー
  • todo36
  • ベストアンサー率58% (728/1234)
回答No.1

試していないが.. WHERE DATENAME(weekday, 日付) = '火曜' DATENAME関数 http://www.microsoft.com/japan/msdn/library/ja/tsqlref/ts_da-db_1dph.asp

KOHEI_JAPAN
質問者

補足

ご回答ありがとうございます。 早速試してみました。 ですが、何かおかしいんです。 抽出されたデータが合いません。 他のSQL文が間違ってるのかと思ったのですが、 そうでもないみたいです。 WHERE DATENAME(weekday, 日付) = '月曜' と書くと、月曜日のみのデータがでるのですが、 料金が全然合いません。 WHERE DATENAME(weekday, 日付) = '火曜' に変えてみると、今度は月~日まで一週間分のデータが出てくるんです。 WHERE~の部分を削除して全データを表示させるとちゃんと月~日までデータが入っているのに、 WHERE DATENAME(weekday, 日付) = '金曜' とするとデータがなかったり、 WHERE DATENAME(weekday, 日付) = '水曜' にすると、表示が月曜になって、しかも月曜日のデータとは一致しないんです。 もうわけがわかりませんです。 うまく抽出する方法ってないのでしょうか(ToT)

その他の回答 (1)

  • xcrOSgS2wY
  • ベストアンサー率50% (1006/1985)
回答No.2

回答No.1の内容でちゃんと動くようですよ。他のSQL文が間違っているのではないでしょうか。

KOHEI_JAPAN
質問者

補足

はい、確かに間違ってました。 すみません。完璧に動作しました!

関連するQ&A

専門家に質問してみよう