참고 : http://www.postgresql.org/docs/8.4/static/functions-datetime.html
Table 9-26. Date/Time Operators
Operator | Example | Result |
---|---|---|
+ | date '2001-09-28' + integer '7' | date '2001-10-05' |
+ | date '2001-09-28' + interval '1 hour' | timestamp '2001-09-28 01:00:00' |
+ | date '2001-09-28' + time '03:00' | timestamp '2001-09-28 03:00:00' |
+ | interval '1 day' + interval '1 hour' | interval '1 day 01:00:00' |
+ | timestamp '2001-09-28 01:00' + interval '23 hours' | timestamp '2001-09-29 00:00:00' |
+ | time '01:00' + interval '3 hours' | time '04:00:00' |
- | - interval '23 hours' | interval '-23:00:00' |
- | date '2001-10-01' - date '2001-09-28' | integer '3' (days) |
- | date '2001-10-01' - integer '7' | date '2001-09-24' |
- | date '2001-09-28' - interval '1 hour' | timestamp '2001-09-27 23:00:00' |
- | time '05:00' - time '03:00' | interval '02:00:00' |
- | time '05:00' - interval '2 hours' | time '03:00:00' |
- | timestamp '2001-09-28 23:00' - interval '23 hours' | timestamp '2001-09-28 00:00:00' |
- | interval '1 day' - interval '1 hour' | interval '1 day -01:00:00' |
- | timestamp '2001-09-29 03:00' - timestamp '2001-09-27 12:00' | interval '1 day 15:00:00' |
* | 900 * interval '1 second' | interval '00:15:00' |
* | 21 * interval '1 day' | interval '21 days' |
* | double precision '3.5' * interval '1 hour' | interval '03:30:00' |
/ | interval '1 hour' / double precision '1.5' | interval '00:40:00' |
Table 9-27. Date/Time Functions
Function | Return Type | Description | Example | Result |
---|---|---|---|---|
age (timestamp, timestamp) |
interval | Subtract arguments, producing a "symbolic" result that uses years and months | age(timestamp '2001-04-10', timestamp '1957-06-13') | 43 years 9 mons 27 days |
age (timestamp) |
interval | Subtract from current_date (at midnight) |
age(timestamp '1957-06-13') | 43 years 8 mons 3 days |
clock_timestamp () |
timestamp with time zone | Current date and time (changes during statement execution); see Section 9.9.4 | ||
current_date |
date | Current date; see Section 9.9.4 | ||
current_time |
time with time zone | Current time of day; see Section 9.9.4 | ||
current_timestamp |
timestamp with time zone | Current date and time (start of current transaction); see Section 9.9.4 | ||
date_part (text, timestamp) |
double precision | Get subfield (equivalent to extract ); see Section 9.9.1 |
date_part('hour', timestamp '2001-02-16 20:38:40') | 20 |
date_part (text, interval) |
double precision | Get subfield (equivalent to extract ); see Section 9.9.1 |
date_part('month', interval '2 years 3 months') | 3 |
date_trunc (text, timestamp) |
timestamp | Truncate to specified precision; see also Section 9.9.2 | date_trunc('hour', timestamp '2001-02-16 20:38:40') | 2001-02-16 20:00:00 |
extract (field from timestamp) |
double precision | Get subfield; see Section 9.9.1 | extract(hour from timestamp '2001-02-16 20:38:40') | 20 |
extract (field from interval) |
double precision | Get subfield; see Section 9.9.1 | extract(month from interval '2 years 3 months') | 3 |
isfinite (date) |
boolean | Test for finite date (not +/-infinity) | isfinite(date '2001-02-16') | true |
isfinite (timestamp) |
boolean | Test for finite time stamp (not +/-infinity) | isfinite(timestamp '2001-02-16 21:28:30') | true |
isfinite (interval) |
boolean | Test for finite interval | isfinite(interval '4 hours') | true |
justify_days (interval) |
interval | Adjust interval so 30-day time periods are represented as months | justify_days(interval '35 days') | 1 mon 5 days |
justify_hours (interval) |
interval | Adjust interval so 24-hour time periods are represented as days | justify_hours(interval '27 hours') | 1 day 03:00:00 |
justify_interval (interval) |
interval | Adjust interval using justify_days and justify_hours , with additional sign adjustments |
justify_interval(interval '1 mon -1 hour') | 29 days 23:00:00 |
localtime |
time | Current time of day; see Section 9.9.4 | ||
localtimestamp |
timestamp | Current date and time (start of current transaction); see Section 9.9.4 | ||
now () |
timestamp with time zone | Current date and time (start of current transaction); see Section 9.9.4 | ||
statement_timestamp () |
timestamp with time zone | Current date and time (start of current statement); see Section 9.9.4 | ||
timeofday () |
text | Current date and time (like clock_timestamp , but as a text string); see Section 9.9.4 |
||
transaction_timestamp () |
timestamp with time zone | Current date and time (start of current transaction); see Section 9.9.4 |
'DataBase' 카테고리의 다른 글
[PostgreSQL] 조건식 (0) | 2010.04.09 |
---|---|
[PostgreSQL] CrossTab Query (tablefunc) (0) | 2010.04.02 |
[PostgreSQL] pgcrypto 설치 (0) | 2010.03.19 |
[PostgreSQL] enum type (0) | 2010.03.15 |
[MongoDB] with PHP (0) | 2010.03.12 |