しすてむ さんぽみち。

適当なしすてむ紹介など。ようはくだらないBlog(´▽`)

postgres timestampをunixtimeへ変換

2009-11-13 14:52:28 | postgres
全部SQLで済んでしまえば問題ないのですが、
DBの負荷を除くためにソートをプログラム側で処理したいとか
ないですか?

まぁ、僕はよくそういう風に思ったりしていたので
何度かやっているのですが、いつも忘れてしまうのでメモ

■SQL例
select extract(epoch from timestamp '2009-11-13 15:00:00');

1221631200

参考URL
http://u2k772.blog95.fc2.com/blog-entry-13.html

上記はtimestampでキャストした「2009-11-13 15:00:00」のデータを返しています。
実際に利用される場合は

select extract(epoch from '変換したいtimesatamp型のカラム名') from 'テーブル名';
となります。


-----
extract関数について少し書いてみます。

extract 関数は日付/時刻の値から年とか時刻などの部分フィールドを抽出します。


先のtimestamp以外にも下記のような例もイケるようです。

・曜日を取得してみる。
何曜日だっけ?というのが取得できます。カレンダーとか作るのに役立つかも。

select extract(dow from timestamp '2001-02-16 20:38:40');
Result: 5
曜日(0~6、日曜日が 0、timestamp の値のみで使用可)

■年間日数を取得してみる。
365日の何日目だっけ?というのが取得できます。

select extract(doy from timestamp '2001-02-16 20:38:40');
Result: 47

他にもいろいろあるので、参考サイトのURLをみてみてください。

参考URL
http://www.postgresql.jp/document/pg721doc/user/functions-datetime.html



最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。