質問 |
||
| QNo.3895601 | TIMESTAMPTZの値について | |
|---|---|---|
| 質問者:titokani |
こんにちは。 PostgreSQL+PerlでCGIを書いています。 テーブルのtimezonetz型の値の最大値を取り出して加工したいのですが、 うまくいかず悩んでおります。 単に最大値を取り出すだけなら、 SELECT max(lastdate) FROM table; でできました。しかし、この値を $sth->execute(); $last=$sth->fetchrow; として取り出しても、文字列となってしまいます。 perl側で加工するのは、フォーマットが環境によって違ったりする心配がありましたので、サーバー側でできないものかと思い、 SELECT EXTRACT(EPOS FROM TIMESTAMPTZ lastdate) FROM table; としてみましたが、 「"max"またはその近辺で構文エラー」とメッセージが出てしまいます。 こういった場合、いったいどのように書けばよいのでしょうか? PostgreSQLのバージョンの確認方法がわからず、バージョンは不明なのですが、つい先日インストールしてもらったばかりなので、そう古いものではないと思います。 OSはunix(Solaris)です。よろしくお願いします。 |
|
困り度:
|
||
| 質問投稿日時: 08/03/26 10:11 |
||
回答良回答20pt |
|
| ANo.1 | はじめまして、titokaniさん SELECT EXTRACT(EPOCH FROM lastdate) FROM table ORDER BY lastdate DESC LIMIT 1 これでいかがでしょうか? 一応、以下の構成で試しています。 OS:VineLinux4.2 Database:PosgreSQL8.2 pgAdmin3(WinXp) |
|---|---|
| 回答者:oops1967 | |
| 種類:回答 どんな人:一般人 自信:参考意見 |
|
| 回答日時: 08/03/27 10:16 |
|
| |
| 参考URL: | http://osb.sra.co.jp/PostgreSQL/Manual/PostgreSQL-7.1-ja/functions-... |
| この回答へのお礼 | TIMESTAMPTZが余計だったんですね。(EPOSはタイプミスでした)。 無事動きました。ありがとうございました。 |