Home > PHP > MySQLとPostgreSQLの日付フォーマットの違い

MySQLとPostgreSQLの日付フォーマットの違い

  • Posted by: zaru
  • 2007年6月20日 12:35
  • PHP

久々に PostgreSQL をさわることになって、タイムスタンプから2006年のレコードだけを抜き出したいなーとSQLを書こうとしたら、そういえば PostgreSQL では、タイムスタンプを指定したフォーマットで返す関数はなんなんだろ、と思ったので、MySQL と PostgreSQL でよく使われると思われる日付フォーマット表を作ってみた。

MySQLとPostgreSQL日付フォーマット関数の違い

フォーマット MySQL PostgreSQL
年(2006~2007) date_format(time,"%Y") to_char(time,'YYYY')
年(06~07) date_format(time,"%y") to_char(time,'YY')
月(01~12) date_format(time,"%m") to_char(time,'MM')
月(1~12) date_format(time,"%c")
日(01~31) date_format(time,"%d") to_char(time,'DD')
日(1~31) date_format(time,"%e")
月-文字(January~December) date_format(time,"%M") to_char(time,'Month')
月-文字(Jan~Dec) date_format(time,"%b") to_char(time,'Mon')
曜日-文字(Sunday~Saturday) date_format(time,"%W") to_char(time,'Day')
曜日-文字(Sun~Sat) date_format(time,"%a") to_char(time,'Dy')
曜日-数字(0=Sun~6=Sat) date_format(time,"%w")
曜日-数字(1=Sun~7=Sat) to_char(time,'D')
時(00~23) date_format(time,"%H") to_char(time,'HH24')
時(0~23) date_format(time,"%k")
分(00~59) date_format(time,"%i") to_char(time,'MI')
秒(00~59) date_format(time,"%s") to_char(time,'SS')

気をつけるべきなのは、曜日を数値として返す部分。MySQLでは 0 が日曜を表すのに比べ、PostgreSQL では 1 が日曜を表し 7 まである。

参考リンク

Comments:1

Anonymous 2009年9月 4日 12:18

ありがとう。
参考になりました。

Comment Form

Trackbacks:1

TrackBack URL for this entry
http://blog.tofu-kun.org/mt-tb.cgi/329
Listed below are links to weblogs that reference
MySQLとPostgreSQLの日付フォーマットの違い from Webプログラマー+WebデザイナーなZARU日記
[mysql][Programing][PHP]タスク工数管理システム構築 from ふわっとサラリーマン 2009-09-13 (日) 12:33
久々に個人使用のプログラムかいたよー いろいろあって,日常の個人タスクと工数の管理したくなったのでフルスクラッチで書いてみた. 開発環境emacs + ...

Home > PHP > MySQLとPostgreSQLの日付フォーマットの違い

Profile

zaru

Name : zaru

Webプログラマ+Webデザイナで、Webディレクタやってます。Twitterやっているので、ぜひフォローしてやってくださいませ。Twitter - zaru。また、そのほかのプロフィールについては、iddy - zaruを見てください。

Search
Feeds
Others

Return to page top