今回はMySQLのDATEとCURDATE関数を使って
本日の日付を取得する方法
を書いてみます。
というのも、私も MySQL DATE 本日、とか今日、todayとかで調べてみたのですがほしい情報がすんなりと手に入る記事がなかったために、皆さんにも参考にしていただければなと思って書きます。
MySQLのDATE関数で本日の日付を取得する
あえてシンプルに!!
答え1:
SELECT CURDATE();
答え2:
SELECT DATE(NOW());
シンプルすぎて記事になりませんwwww これで終わりですwwww
あ、でも、やっぱり記事なので少し書いておきたいと思います。ヒャッホーイ
DATE関数の使い方
fw_error_www
fw_error_www
mysql> SELECT DATE('2014-01-15 09:00:00');
+-----------------------------+
| DATE('2014-01-15 09:00:00') |
+-----------------------------+
| 2014-01-15 |
+-----------------------------+
1 row in set (0.00 sec)
mysql>
上記のとおりDATE関数の「()」の中には 日付 と 時刻 が入力されている必要があります。
なので、本日の日付を返してほしい場合には日付と時刻を返す NOW() を中に入れてあげればいいんですね。
mysql> SELECT NOW(); +---------------------+ | NOW() | +---------------------+ | 2014-01-15 17:05:43 | +---------------------+ 1 row in set (0.00 sec) mysql> SELECT DATE(NOW()); +-------------+ | DATE(NOW()) | +-------------+ | 2014-01-15 | +-------------+ 1 row in set (0.00 sec) mysql>
CURDATE関数の使い方
http://dev.mysql.com/doc/refman/5.1-olh/ja/date-and-time-functions.html#function_curdate
mysql> SELECT CURDATE(); +------------+ | CURDATE() | +------------+ | 2014-01-15 | +------------+ 1 row in set (0.00 sec) mysql> mysql> SELECT CURDATE() + 3; +---------------+ | CURDATE() + 3 | +---------------+ | 20140118 | +---------------+ 1 row in set (0.00 sec) mysql> mysql> SELECT CURDATE() - 3; +---------------+ | CURDATE() - 3 | +---------------+ | 20140112 | +---------------+ 1 row in set (0.00 sec) mysql>
CURDATE()だけで本日の日付になりますが、それに「+」や「-」を用いて日にちを足したり引いたりの日付計算もできます。
計算を行った場合は yyyymmdd の形式で表示されます。
MySQLのSQL文だけで行える時間の計算は本当に本当に本当にたくさんあります。驚くぐらい便利です!
「DBからSELECTしてきた情報をPHPでいじればいいんでしょ?」
「はぁ?( ゚д゚)ポカーン」
PHPで処理処理する前に
SQLで解決できたら相当楽ですよね?
ぜひMySQLのページを覗いて学習してみてください!すごく便利です!
以上
参考:
コメント
こんにちは
CentOS5.10のmysql5.5にバージョンアップやってみました。
結果、
mysql5.5のmy.cnfのパス
/opt/rh/mysql55/root/etc/my.cnf
ログ
[root@www log]# ll /var/log/ |grep mysq
-rw-r—– 1 mysql mysql 2752 1月 23 10:54 mysql51-mysqld.log
-rw-r—– 1 mysql mysql 3710 1月 23 10:55 mysql55-mysqld.log
-rw-r—– 1 mysql mysql 1315 1月 23 10:48 mysqld.log
sclコマンドいれたり、どっかのサードパーティ入れたほうが早くていいかもしれません。
こんにちは
ESXiの運用変更に久々にアレルギーがでる情報をネット検索して頭に詰め込んでるtrippyboyです(^^;
mysql5.5にされましたか! 問題なく動いているようでよかったです・・・ ってえ!?
confファイルの場所、めちゃくちゃわかりにくいですねww 管理者変わったら大変そう(笑
MariaDBちゃんにしちゃいましょうよ~(←せっかく5.5に乗り換えた人に言う言葉じゃないですけどw
こんにちは上記のはテスト環境でやりました。今回は実サーバーです。
Mariaちゃんはまだ知名度がいまいちなんで、ここはoracleのせいでビッチになりつつあるmyちゃんです。
ということでサーバ一台を5.5にしてみました。まだmariaDBもmysqlもほとんどかわらないので導入の説明をするのに楽だったからです。
デザイン側からmysqlでwordpressがどうたらこうたらといわれていましたからね。
問題があるとすればphpの処理でありあんまりmysqlは関係ないかなとおもいます。実際slow queryもでていませんでした。
いずれにせよ5..0.97よりは性能があがっているし、これでいいのかなと思います。
くりくりさん
おはようございます!
wikipediaからもってきましたが、MySQLがオラクルのせいげビッチになりつつあるっていう流れはここら辺ですよね。
オラクルとMySQLはそれぞれ別であって良いと思うのですが、今後はどうなるんでしょうか。
MariaDBとして存続するべくチームが発足している時点で、両者の目標は少なからずとも違うのでしょうね。
>デザイン側からmysqlでwordpressがどうたらこうたらといわれていましたからね。
MySQLかMariaDBかは、使っている側からは現状わからないと思いますけど、何かあるんでしょうね
そうですね、私は性能がよくなっているかなんて確認せずに使っていますww