- ベストアンサー
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
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
試していないが.. WHERE DATENAME(weekday, 日付) = '火曜' DATENAME関数 http://www.microsoft.com/japan/msdn/library/ja/tsqlref/ts_da-db_1dph.asp
その他の回答 (1)
- xcrOSgS2wY
- ベストアンサー率50% (1006/1985)
回答No.2
回答No.1の内容でちゃんと動くようですよ。他のSQL文が間違っているのではないでしょうか。
質問者
補足
はい、確かに間違ってました。 すみません。完璧に動作しました!
補足
ご回答ありがとうございます。 早速試してみました。 ですが、何かおかしいんです。 抽出されたデータが合いません。 他のSQL文が間違ってるのかと思ったのですが、 そうでもないみたいです。 WHERE DATENAME(weekday, 日付) = '月曜' と書くと、月曜日のみのデータがでるのですが、 料金が全然合いません。 WHERE DATENAME(weekday, 日付) = '火曜' に変えてみると、今度は月~日まで一週間分のデータが出てくるんです。 WHERE~の部分を削除して全データを表示させるとちゃんと月~日までデータが入っているのに、 WHERE DATENAME(weekday, 日付) = '金曜' とするとデータがなかったり、 WHERE DATENAME(weekday, 日付) = '水曜' にすると、表示が月曜になって、しかも月曜日のデータとは一致しないんです。 もうわけがわかりませんです。 うまく抽出する方法ってないのでしょうか(ToT)