Entries


上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

-件のコメント

[C319]

健康的ですねw

> date()とcurrent_date(),now()で微妙に返ってくる結果が違うんですね.
1 引いたものをdate()してるのと、date() したものから 1 引いてるのの違いじゃないかな。
1 引くと数値として評価されるけど、date() すると文字列で返ってくるようです。

ttp://dev.mysql.com/doc/refman/4.1/ja/date-and-time-functions.html

・・・とコメントしようとしたら、英数字の比率が多すぎるのでスパムと判断しました的なメッセージが出てきたw
最近のブログはシビアだなあ。
  • 2009-04-11
  • 投稿者 : kgw
  • URL
  • 編集

[C320] Re: タイトルなし

>>kgwさん

コメントありがとうございます.

> > date()とcurrent_date(),now()で微妙に返ってくる結果が違うんですね.
> 1 引いたものをdate()してるのと、date() したものから 1 引いてるのの違いじゃないかな。
> 1 引くと数値として評価されるけど、date() すると文字列で返ってくるようです。

そっかあ.なるほど.date()すると文字列とは勉強になりました.


> ・・・とコメントしようとしたら、英数字の比率が多すぎるのでスパムと判断しました的なメッセージが出てきたw
> 最近のブログはシビアだなあ。

これはスパム対策で英字比率フィルタを入れてるんですよ.しかし最近のスパムソフトだと英字比率フィルタを無視して書き込みをしてきます.FC2のフィルタが不完全でスパムに抜かれてとしか思えません.

そして,こういうコメントが書きずらいと憂慮していたのあるので,やはりフィルタは緩和して禁止ワードを増やして対策したほうがいいかもしれませんね.
  • 2009-04-11
  • 投稿者 : ぷぎえもん
  • URL
  • 編集

[C397] 月を越えられます?

1日にこれをやると…
  • 2010-09-02
  • 投稿者 : けい
  • URL
  • 編集

[C398]

>>けいさん

コメントどうもです。
すみません。このエントリーは間違っているのでこっちのページを見てみてください。
mysqlで昨日とか一昨日とかを日付指定の正解版
http://pugiemonn.blog6.fc2.com/blog-entry-1064.html
  • 2010-09-02
  • 投稿者 : ぷぎえもん
  • URL
  • 編集

[C399]

失礼しました。正解版があったのですね。
自分のとこで同じ間違いをやってしまい、正解を探しているときに立ち寄ったもので。
  • 2010-09-04
  • 投稿者 : けい
  • URL
  • 編集

[C400] Re: タイトルなし

>>けいさん

どうもです。
ボクも最初これで良いと思ったんですけど間違っていて、残念な歴史を残してしまいました.

> 失礼しました。正解版があったのですね。
> 自分のとこで同じ間違いをやってしまい、正解を探しているときに立ち寄ったもので。
  • 2010-09-05
  • 投稿者 : ぷぎえもん
  • URL
  • 編集

コメントの投稿

新規

※設定NGワードは『http』です

投稿した内容は管理者にだけ閲覧出来ます

-件のトラックバック

トラックバックURL
http://pugiemonn.blog6.fc2.com/tb.php/1035-02ed49ba

(やっちゃダメ)mysqlで昨日とか一昨日とかを日付指定


このエントリーには重大な間違いがあります.訂正いたしましたので,mysqlで昨日とか一昨日とかを日付指定の正解版をご覧ください.当エントリーの間違った箇所には打ち消し線を適用しておきます.

きょうは朝から健康的にsqlを書きました.
日付指定をしてみたかったのですが,すっかり忘れてしまっているので日付指定の練習をしてみます.
例ということでこのエントリーでは今日や昨日を指定してみます.

今日を出したい場合は簡単です.
mysql> select date(now());
+-------------+
| date(now()) |
+-------------+
| 2009-04-09 |
+-------------+
1 row in set (0.02 sec)

mysql> select current_date();
+----------------+
| current_date() |
+----------------+
| 2009-04-09 |
+----------------+
1 row in set (0.00 sec)


昨日は今日から1日引くだけです.
mysql> select date(now())-1;
+---------------+
| date(now())-1 |
+---------------+
| 20090408 |
+---------------+
1 row in set (0.00 sec)

mysql> select date(current_date()-1);
+------------------------+
| date(current_date()-1) |
+------------------------+
| 2009-04-08 |
+------------------------+
1 row in set (0.00 sec)


date()とcurrent_date(),now()で微妙に返ってくる結果が違うんですね.
一昨日を指定するならdate(now())-2みたいに2日引いてあげればOKです.


SELECT文ではWHEREを使って日付を指定するので不等号で囲ってあげればいいのでしょうか.
testという名のテスト用テーブルのカラム名は以下みたいな感じです.
mysql> desc test;
+-------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| exp | varchar(255) | YES | | NULL | |
| dates | datetime | YES | | NULL | |
+-------+--------------+------+-----+---------+-------+
2 rows in set (0.00 sec)


今日のデータをとるときはこんな感じで書けます.
select * from test where dates>=date(now());

select * from test where dates>=current_date();


ということで昨日一日分のデータを出したければ昨日と今日の間になります.
select * from test where dates>=date(now())-1 and dates<date(now());

select * from test where dates>=current_date-1 and dates<current_date();


半角カッコを省略したりしてもsqlを流してみると一応動くみたいです.書き方が色々あるのでどれを使えばいいのかさっぱりわかりません.

このエントリーには重大な間違いがあります.訂正いたしましたので,mysqlで昨日とか一昨日とかを日付指定の正解版をご覧ください.当エントリーの間違った箇所には打ち消し線を適用しておきます.

改訂新版 反復学習ソフト付き SQL書き方ドリル (WEB+DB PRESS plusシリーズ)改訂新版 反復学習ソフト付き SQL書き方ドリル (WEB+DB PRESS plusシリーズ)
(2007/05/18)
羽生 章洋和田 省二

商品詳細を見る

6件のコメント

[C319]

健康的ですねw

> date()とcurrent_date(),now()で微妙に返ってくる結果が違うんですね.
1 引いたものをdate()してるのと、date() したものから 1 引いてるのの違いじゃないかな。
1 引くと数値として評価されるけど、date() すると文字列で返ってくるようです。

ttp://dev.mysql.com/doc/refman/4.1/ja/date-and-time-functions.html

・・・とコメントしようとしたら、英数字の比率が多すぎるのでスパムと判断しました的なメッセージが出てきたw
最近のブログはシビアだなあ。
  • 2009-04-11
  • 投稿者 : kgw
  • URL
  • 編集

[C320] Re: タイトルなし

>>kgwさん

コメントありがとうございます.

> > date()とcurrent_date(),now()で微妙に返ってくる結果が違うんですね.
> 1 引いたものをdate()してるのと、date() したものから 1 引いてるのの違いじゃないかな。
> 1 引くと数値として評価されるけど、date() すると文字列で返ってくるようです。

そっかあ.なるほど.date()すると文字列とは勉強になりました.


> ・・・とコメントしようとしたら、英数字の比率が多すぎるのでスパムと判断しました的なメッセージが出てきたw
> 最近のブログはシビアだなあ。

これはスパム対策で英字比率フィルタを入れてるんですよ.しかし最近のスパムソフトだと英字比率フィルタを無視して書き込みをしてきます.FC2のフィルタが不完全でスパムに抜かれてとしか思えません.

そして,こういうコメントが書きずらいと憂慮していたのあるので,やはりフィルタは緩和して禁止ワードを増やして対策したほうがいいかもしれませんね.
  • 2009-04-11
  • 投稿者 : ぷぎえもん
  • URL
  • 編集

[C397] 月を越えられます?

1日にこれをやると…
  • 2010-09-02
  • 投稿者 : けい
  • URL
  • 編集

[C398]

>>けいさん

コメントどうもです。
すみません。このエントリーは間違っているのでこっちのページを見てみてください。
mysqlで昨日とか一昨日とかを日付指定の正解版
http://pugiemonn.blog6.fc2.com/blog-entry-1064.html
  • 2010-09-02
  • 投稿者 : ぷぎえもん
  • URL
  • 編集

[C399]

失礼しました。正解版があったのですね。
自分のとこで同じ間違いをやってしまい、正解を探しているときに立ち寄ったもので。
  • 2010-09-04
  • 投稿者 : けい
  • URL
  • 編集

[C400] Re: タイトルなし

>>けいさん

どうもです。
ボクも最初これで良いと思ったんですけど間違っていて、残念な歴史を残してしまいました.

> 失礼しました。正解版があったのですね。
> 自分のとこで同じ間違いをやってしまい、正解を探しているときに立ち寄ったもので。
  • 2010-09-05
  • 投稿者 : ぷぎえもん
  • URL
  • 編集

コメントの投稿

新規

※設定NGワードは『http』です

投稿した内容は管理者にだけ閲覧出来ます

0件のトラックバック

トラックバックURL
http://pugiemonn.blog6.fc2.com/tb.php/1035-02ed49ba

Appendix

プロフィール

川崎修

  • Author:川崎修
  • インターネット大好き!
    調布周辺で自宅警備してます



    メール:pugiemonn@gmail.com
    skype:pugiemonn
    twilog:Twilog
    mixi:mixi
    facebook:facebook
My Profile by iddy
FC2ブログ

カレンダー

03 | 2017/04 | 05
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 - - - - - -

最近の記事

Twitter

コミュニティ

ブログ内検索

ブロとも申請フォーム

この人とブロともになる

Adsense

月別アーカイブ

はてぶ数

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。