ハードディスクメンテナンス ブログ

投稿記事数8,000以上!PC,カメラ,オーディオ,ラジオ,航空,旧ゲームなど

時,分,秒を[年月日時分秒]から取り出す(MySQL,hour,minute,second,extract,date_format)

   

>>高還元のクレジットカード比較 期間限定のキャッシュバックなど!<<


あるテーブルの列(カラム)reg_timeには、年月日時分秒Y-m-d H:i:s形式で格納されているとする。

Y-m-d H:i:s形式 = 2014-01-01 12:34:56

このテーブルから、時と分と秒を取り出すとすると、

① SELECT reg_time , hour(reg_time) AS hour , minute(reg_time) AS minute , second(reg_time) AS second FROM テーブル名

で取り出すことができる(1桁のものは何れも1桁で返ってくる)。

SELECT <code>reg_time</code> , hour(<code>reg_time</code>) AS <code>hour</code> , minute(<code>reg_time</code>) AS <code>minute</code> , second(<code>reg_time</code>) AS <code>second</code> FROM <code>テーブル名</code>…” BORDER=”0″></p>
<p>が、本来、hour,minute,secondは<FONT COLOR=時刻を与えた場合に、各々を返すはず。

・hour(’12:34:56′) → 12
・minute(’12:34:56′) → 34
・second(’12:34:56′) → 56

よって本来は、

② SELECT reg_time , hour(time(reg_time)) AS hour , minute(time(reg_time)) AS minute , second(time(reg_time)) AS second FROM テーブル名

として、日付/時刻関数のtimeを使い、一旦reg_timeを時分秒のみにしてから、hour,minute,secondするべきである。

スポンサーリンク

・time(‘2014-01-01 12:34:56’) → 12:34:56

時分秒のみにせずに投げても、機転を利かせてくれて?①で取り出せるのは、MySQLのみ?

なお、これらはdate_formatと書式指定子で取り出すことも可能である。

・date_format(‘年月日時分秒’,’書式指定子’)

・date_format(‘2014-01-01 12:34:56′,’%k’) → 12
・date_format(‘2014-01-01 12:34:56′,’%i’) → 34
・date_format(‘2014-01-01 12:34:56′,’%s’) → 56

同様に、extractとタイプで取り出すことも可能である。

・extract(タイプ from ‘年月日時分秒’)

・extract(hour from ‘2014-01-01 12:34:56’) → 12
・extract(minute from ‘2014-01-01 12:34:56’) → 34
・extract(second from ‘2014-01-01 12:34:56’) → 56

③ SELECT reg_time , extract(hour from reg_time) AS hour , extract(minute from reg_time) AS minute , extract(second from reg_time) AS second FROM テーブル名

date_formatでは細かく取り出せるが、書式指定子を忘れてしまうので、カンタンな取り出しであればextractが適?

注意点は、extractにはfromが必要であり、内部の並びがdate_formatとは逆なことかな。




sha-bc@336×280

sha-bc@336×280


sha-bc@336×280

sha-bc@336×280

  関連記事

CF-R6
CF-R6は、遅杉且熱杉流!危険杉流「ファンレス」PC

灼熱波動拳並(ふンッ! by 豪鬼 スパIIX)に熱い、パナソニック(旧松下電器 …

twitter
Twitterのタイムラインをサイトに埋め込む方法 – コードをユーザー毎に変化させるには?

Twitterのタイムラインをサイトに埋め込むのには、Twitetrにログインし …

Intel SSD Toolbox
8MB化したSSD(X25-M SSDSA2MH080G1GC)の回復作戦 – 多大な犠牲の上に成功!

8MBとなってしまったIntelのX25-M SSDSA2MH080G1GC(8 …

idを詰める(連番を振り直す)方法
[MySQL] idを詰める(連番を振り直す)方法

数分毎に定期的にログを取得するようなプログラムを書き、DBに格納し始める。 だが …

no image
業務サーバーのCPU負荷が100%

業務サーバー(Linux)のCPU負荷が100%に。 スポンサーリンク MySQ …

no image
[MySQL] index定義の無駄と、indexが役に立たない場合 [悪例,アンチパターン]

データベースで重要なindexであるが、全てのfieldにindexを定義するの …

no image
Apache Server Information の設定 (Apache2.2.22 ,Debian7.4)

Apache/2.2.22 (Debian7.4) ローカルの試験サーバーのIP …

no image
VineLinuxのインストールに失敗(SIGSEGV)

追記:下記のコメント欄に複数のコメントが寄せられています。参考に。 Vine L …

no image
Debian7.4のgrub後に起動しない場合(grub-install,update-grub)

Debian7.4のgrubは灰色の新しい画面(左下に渦)であるが、 左下に渦 …

パームレストの左側が特に熱い
ツイに100度達成!目標はサラに高く! – 熱杉流ノートパソコン、CF-R6

熱杉流状況で非常に危険な、CF-R6。 関連:気温上昇に伴い、CF-R6の温度が …