home prev next

索引

用意されている関数は、他にもたくさんあります。


current_date

サーバの現在日時を取得します。

Fig.1-1: current_date の使用例
sample=# select current_date;
    date
------------
 2008-11-11
(1 行)

current_time

サーバの現在時刻を取得します。

Fig.1-2: current_time の使用例
sample=# select current_time;
       timetz
--------------------
 11:23:43.852058+09
(1 行)

current_timestamp

サーバの現在日付と時刻を取得します。

Fig.1-3: current_timestamp の使用例
sample=# select current_timestamp;
              now
-------------------------------
 2008-11-11 11:23:50.140181+09
(1 行)

now

current_timestamp と同じもので、伝統的なPostgreSQL関数です。

Fig.1-4: now の使用例
sample=# select now();
              now
-------------------------------
 2008-11-11 11:22:10.104132+09
(1 行)

date_trunc

date_trunc() 関数は、タイムスタンプを指定された精度で切り捨てます。
例では時間で切り捨てていますが他にも単位を選択することは可能です。

Table.1-1: 指定可能な date_trunc の単位
year
month
day
dow 曜日(0 日曜)
hour
minute
second
week
quarter 四半期
doy 年間通算日(うるう年は 366 日まで)
epoch 1970.01.01 からの通算秒

Fig.1-5: date_trunc の使用例
sample=# select date_trunc('hour', current_timestamp);
       date_trunc
------------------------
 2008-11-11 13:00:00+09
(1 行)

日付の加算

PostgreSQL では、add_months() は使えない。

Fig.1-6: 日付加算の使用例
sample=# select current_date + 5;
  ?column?
------------
 2008-11-16
(1 行)

日付の差

PostgreSQL では、months_between() も使えない。

Fig.1-7: 日付差分の使用例
sample=# select current_timestamp - to_timestamp('2008.11.01 00:00:00', 'yyyy.mm.dd hh24:mi:ss');
        ?column?
-------------------------
 10 days 13:43:26.069516
(1 行)

age

引数間の減算結果を表示します。
これは、年齢や勤続年数などを取得するのによく使います。

Fig.1-8: age の使用例
sample=# select age(current_timestamp, '1980-04-26');
                  age
----------------------------------------
 28 years 6 mons 15 days 13:53:42.528456
(1 行)

to_date

to_date() 関数は、文字日付を日付型に変換します。

Fig.1-9: to_date の使用例
sample=# select to_date('20081110', 'YYYYMMDD');
  to_date
------------
 2008-11-10
(1 行)

to_timestamp

to_timestamp() 関数は、時間も含みます(to_time はない)。

Fig.1-10: to_timestamp の使用例
sample=# select to_timestamp('2008.11.10 14:16:00', 'YYYY.MM.DD HH24:MI:SS');
      to_timestamp
------------------------
 2008-11-10 14:16:00+09
(1 行)

to_char

to_char() 関数は、任意のフォーマットの文字列に変換します。

Fig.1-11: to_char の使用例
sample=# select to_char(now(), 'mm dd hh24:mi:ss yyyy');
       to_char
---------------------
 11 11 11:24:13 2008
(1 行)

その他

一般的によく使用される関数を以下に記します。


home prev next

Last-modified: Mon Nov 17 12:15:01 JSP 2008
Site admin:りお

Powerd by ninjatools

がんばりましょう このページは Another HTML-lint gatewayがんばりましょうと判断されました。