mysqlで、例えば2004年5月に登録したものだけを取得するSQL。テーブルにはdateのカラムがあります。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2004/05/14 03:13:08
  • 終了:--

回答(6件)

id:xnissy No.1

xnissy回答回数1029ベストアンサー獲得回数2032004/05/14 03:28:08

ポイント15pt

SELECT * FROM table WHERE date>=20040501000000 and date <=20040531000000;

でいかがでしょうか.

id:sakaik No.2

sakaik回答回数9ベストアンサー獲得回数02004/05/14 04:40:11

ポイント15pt

http://www.mysql.com/

MySQL :: The world's most popular open source database

URLはダミーです。色々な方法がありますがそのひとつとして、

テーブル名を yourtable

date型のカラム名を datecolumn とすると、

SELECT * FROM yourtable

WHERE DATE_FORMAT(datecolumn, ’%Y%m%d’) = ’200405’;

でいけます。

id:Tariq

このやり方、素敵です。

2004/05/14 04:46:22
id:sakaik No.3

sakaik回答回数9ベストアンサー獲得回数02004/05/14 05:37:49

ポイント15pt

http://www.mysql.gr.jp/

日本MySQLユーザ会

#URLダミー

 すいません!2の回答でちょっと間違いがありました。おそらくご賢察のこととは思いますが訂正させて下さい。

誤:’%Y%m%d’

正:’%Y%m’

 です。年月だけを比較しているのでした。失礼致しました。

id:ichi1 No.4

ichi1回答回数24ベストアンサー獲得回数02004/05/14 16:58:40

ポイント15pt

urlはダミーです。

オーソドックスに

テーブル名をtable1、date型の項目をdate1とすると

select * from table1

where year(date1)= 2004 and month(date1);

id:nisi No.5

nisi回答回数13ベストアンサー獲得回数02004/05/14 21:01:35

ポイント15pt

http://www.hatena.ne.jp/1084471988

mysqlで、例えば2004年5月に登録したものだけを取得するSQL。テーブルにはdateのカラムがあります。 - 人力検索はてな

SELECT * FROM target_table WHERE target_cols LIKE ’2004-05%’

id:holybell No.6

holybell回答回数4ベストアンサー獲得回数02004/05/15 00:33:54

ポイント15pt

http://www.sqlpowerpage.co.jp/

sqlpowerpage RDB専門サイト

普通に

SELECT *

FROM table

WHERE date BETWEEN 2004-01-01 AND 2004 -12-31

SELECT *

FROM table

WHERE date LIKE ’2004%’

とかじゃだめですか?

  • id:xnissy
    訂正

    1で回答したものですが
    SELECT * FROM table WHERE date>=20040501000000 and date <=20040531000000;
    では31日が引っかかりませんね。以下に訂正します。
    SELECT * FROM table WHERE date>=20040501000000 and date <=20040531235959;

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません