¾�ΥС�������ʸ�� �� 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

4.8. ����/����ؿ��ȱ黻��

Table 4-17 ������/������ͤν�����Ԥ��ؿ��򼨤��Ƥ��ޤ��� Table 4-16 ��(+��* ���Τ褦��)����Ū�ʻ��ѱ黻�Ҥο��񤤤��������Ƥ��ޤ����ե����ޥåƥ��󥰴ؿ��ˤĤ��Ƥ� Section 4.7 �򻲾Ȥ�������������/����ǡ��������դ��Ƥ��طʤȤʤäƤ����������̤��Ƥ��ʤ���Фʤ�ޤ���( Section 3.5 �򻲾�)��

�ʲ��˼�������/����黻�Ҥο��񤤤ϻ������դ������̵���Υǡ������˻��̤äƤ��ޤ���

Table 4-16. ����/����黻��

̾�������
+ timestamp '2001-09-28 01:00' + interval '23 hours'timestamp '2001-09-29 00:00'
+ date '2001-09-28' + interval '1 hour'timestamp '2001-09-28 01:00'
+ time '01:00' + interval '3 hours'time '04:00'
- timestamp '2001-09-28 23:00' - interval '23 hours'timestamp '2001-09-28'
- date '2001-09-28' - interval '1 hour'timestamp '2001-09-27 23:00'
- time '05:00' - interval '2 hours'time '03:00'
- interval '2 hours' - time '05:00'time '03:00:00'
* interval '1 hour' * int '3'interval '03:00'
/ interval '1 hour' / int '3'interval '00:20'

����/����ؿ��ϰʲ��ˤޤȤ�Ƥ���ޤ�������³������ɲ�Ū�ʾܤ������󤬤���ޤ���

Table 4-17. ����/����ؿ�

̾���֤��ͷ����������
age(timestamp)interval���������դ���θ���age(timestamp '1957-06-13')43 ǯ 8 ���� 3 ��
age(timestamp, timestamp)interval�������鸺��age('2001-04-10', timestamp '1957-06-13')43 ǯ 9 ���� 27 ��<
current_datedate���������� ���� �򻲾ȡ�  
current_timetime�����λ��� ���� �򻲾ȡ�  
current_timestamptimestamp���դȻ��� ���� �򻲾ȡ�  
date_part(text, timestamp)��������ʬ�ե�����ɤμ��� ( extract ��Ʊ��):���� �⻲�ȡ�date_part('hour', timestamp '2001-02-16 20:38:40')20
date_part(text, interval)��������ʬ�ե�����ɤμ��� (extract ��Ʊ��)�� ���� �⻲�ȡ�date_part('month', interval '2 years 3 months')3
date_trunc(text, timestamp)timestamp���ꤵ�줿���٤��ڼΤơ� ���� �⻲�ȡ� date_trunc('hour', timestamp '2001-02-16 20:38:40')2001-02-16 20:00:00+00
extract(field from timestamp)��������ʬ�ե�����ɤμ��������� �⻲�ȡ�extract(hour from timestamp '2001-02-16 20:38:40')20
extract(field from interval)��������ʬ�ե�����ɤμ��������� �⻲�ȡ�extract(month from interval '2 years 3 months')3
isfinite(timestamp)������ͭ�� timestamp �Υƥ��� (̵���⤷����̵����)isfinite(timestamp '2001-02-16 21:28:30')true
isfinite(interval)������ͭ�� interval �Υƥ���isfinite(interval '4 hours')true
now()timestamp���ߤ����դȻ��� (current_timestamp ��Ʊ��)������ �򻲾ȡ�  
timeofday()text���ߤ����դȻ�� ���� �򻲾ȡ�timeofday()Wed Feb 21 17:01:13.000126 2001 EST
timestamp(date)timestampdate ���� timestamp ��timestamp(date '2000-12-25')2000-12-25 00:00:00
timestamp(date, time)timestampdate �� time ���� timestamp��timestamp(date '1998-02-24',time '23:07')1998-02-24 23:07:00

4.8.1. EXTRACT, date_part

EXTRACT (field FROM source)

extract �ؿ�������/������ͤ���ǯ�Ȥ�����ʤɤ���ʬ�ե�����ɤ���Ф��ޤ���source �� timestamp �ޤ��� interval ��ɾ������ɾ�����Ǥ���( date ���ޤ��� time ����ɾ������ timestamp ���˥��㥹�Ȥ���ޤ��Τ�Ʊ�ͤ˻��Ѳ�ǽ�Ǥ���) field �� source ���ͤ���ɤΥե�����ɤ���Ф��뤫�����򤹤뼱�̻Ҥ⤷����ʸ����Ǥ���extract �ؿ��������������ͤ��֤��ޤ����ʲ���ͭ�����ͤǤ���

century (����)

ǯ�ե�����ɤ� 100 �dz�ä����

SELECT EXTRACT(CENTURY FROM TIMESTAMP '2001-02-16 20:38:40');
Result: 20

day (��)

(�����)���եե������ (1 - 31)

SELECT EXTRACT(DAY FROM TIMESTAMP '2001-02-16 20:38:40');
Result: 16

decade (��ǯ)

ǯ�ե�����ɤ� 10 �dz�ä����

SELECT EXTRACT(DECADE FROM TIMESTAMP '2001-02-16 20:38:40');
Result: 200

dow (����)

������0��6���������� 0��timestamp ���ͤΤߤǻ��Ѳġ�

SELECT EXTRACT(DOW FROM TIMESTAMP '2001-02-16 20:38:40');
Result: 5

doy (�̻�����)

ǯ��Ǥ��̻�������1��365/366�ˡ�timestamp ���ͤΤ߻��Ѳġ�

SELECT EXTRACT(DOY FROM TIMESTAMP '2001-02-16 20:38:40');
Result: 47

epoch

date ���� timestamp �����ͤˤ����ơ�1970-01-01 00:00:00 ������ÿ�����ο��ξ��⤢���: interval ���ͤǤϤ��λ��ֳִ֤ˤ������äι��

SELECT EXTRACT(EPOCH FROM TIMESTAMP '2001-02-16 20:38:40');
Result: 982352320

SELECT EXTRACT(EPOCH FROM INTERVAL '5 days 3 hours');
Result: 442800

hour (��)

���Υե������ (0 - 23)

SELECT EXTRACT(HOUR FROM TIMESTAMP '2001-02-16 20:38:40');
Result: 20

microseconds (�ޥ�������)

ü����ʬ��ޤᡢ1,000,000 ��褸���åե�����ɡ��ä��٤Ƥ��֤����Ȥ�����

SELECT EXTRACT(MICROSECONDS FROM TIME '17:12:28.5');
Result: 28500000

millennium (�ߥ�˥���)

ǯ�ե�����ɤ� 1000 �dz�ä����

SELECT EXTRACT(MILLENNIUM FROM TIMESTAMP '2001-02-16 20:38:40');
Result: 2

millennium �ե�����ɤ�ǯ�ե�����ɤ�ñ�� 1000 �dz任������Τǡ�1900 ǯ���ǯ����� 2 �ߥ�˥���Ȥ��뽾�������Ȥϰۤʤ�ޤ���

milliseconds (�ߥ���)

ü����ʬ��ޤߡ�1000 ��褸��줿�åե�����ɡ����٤Ƥ��ä�ޤळ�Ȥ�����

SELECT EXTRACT(MILLISECONDS FROM TIME '17:12:28.5');
Result: 28500

minute (ʬ)

ʬ�ե������ (0 - 59)

SELECT EXTRACT(MINUTE FROM TIMESTAMP '2001-02-16 20:38:40');
Result: 38

month (��)

timestamp ���ͤ��Ф���ǯ��η��ֹ� (1 - 12)�� interval ���ͤ��Ф��ƤϷ��ֹ�ǡ�12 �ξ�; (0 - 11)

SELECT EXTRACT(MONTH FROM TIMESTAMP '2001-02-16 20:38:40');
Result: 2

SELECT EXTRACT(MONTH FROM INTERVAL '2 years 3 months');
Result: 3

SELECT EXTRACT(MONTH FROM INTERVAL '2 years 13 months');
Result: 1

quarter (��Ⱦ��)

���������ޤޤ��ǯ�λ�Ⱦ�� (1 - 4) (timestamp ���ͤ��Ф��ƤΤ�)

SELECT EXTRACT(QUARTER FROM TIMESTAMP '2001-02-16 20:38:40');
Result: 1

second (��)

ü����ޤ���åե������ (0 - 59) ��[1]��

SELECT EXTRACT(SECOND FROM TIMESTAMP '2001-02-16 20:38:40');
Result: 40

SELECT EXTRACT(SECOND FROM TIME '17:12:28.5');
Result: 28.5

timezone_hour

�����ӥ��ե��åȤλ�����ʬ

timezone_minute

�����ӥ��ե��åȤ�ʬ����ʬ

week (��)

timestamp �����ͤ��Ф���������������ǯ���̻��Ǥν���׻����ޤ���ISO 8601 ������Ǥϡ�����ǯ�� 1 �� 4 ���ν����� 1 ���Ȥ��ޤ���(ISO �Ǥϡ����Ϸ���������Ϥޤ�Ȥ��Ƥ��ޤ���)�Ĥޤꡢǯ�κǽ�������������뽵������ǯ���� 1 ���Ȥʤ�ޤ���

SELECT EXTRACT(WEEK FROM TIMESTAMP '2001-02-16 20:38:40');
Result: 7

year (ǯ)

ǯ�ե������

SELECT EXTRACT(YEAR FROM TIMESTAMP '2001-02-16 20:38:40');
Result: 2001

extract �ؿ��Ϥ�Ȥ�ȷ׻���������Ū�Ǥ���������/������ͤ�ɽ��������Ū�ǤΥե����ޥƥ��󥰤��դ��Ƥ� Section 4.7 �򻲾Ȥ��Ƥ���������

date_part �ؿ��� SQL-�ؿ� extract �Ȱ���Ū�� Ingres ���ߴ���Ȥ뤿��Υ�ǥ벽�Ǥ���

date_part('field', source)

������ field ���ͤ�ʸ����Ǥʤ���Фʤ�ʤ����Ȥ����դ��Ƥ���������ͭ���� date_part ���ͤ� extract ��Ʊ���Ǥ���

SELECT date_part('day', TIMESTAMP '2001-02-16 20:38:40');
Result: 16

SELECT date_part('hour', INTERVAL '4 hours 3 minutes');
Result: 4

4.8.2. date_trunc

date_trunc �ؿ��ϳ�ǰŪ�˿��ͤ��Ф��� trunc �ؿ���������Ƥ��ޤ���

date_trunc('field', source)

source �ϥǡ����� timestamp ��ɾ�����Ǥ�(�ǡ����� date �� time �ϼ�ưŪ�˥��㥹�Ȥ���ޤ�)��field �� timestamp ���ͤ�ɤ����٤��ڼΤƤ뤫�����򤷤ޤ����֤��ͤ��ͤ����򤵤줿��Τ�꾮�������٤ƤΥե�����ɤ�����(���ȷ�ξ��� 1)�����ꤵ��ޤ���

field ��ͭ���ͤˤϼ��Τ�Τ�����ޤ���

microseconds (�ޥ�������)
milliseconds (�ߥ���)
second (��)
minute (ʬ)
hour (��)
day (��)
month (��)
year (ǯ)
decade (��ǯ)
century (����)
millennium (�ߥ�˥���)

SELECT date_trunc('hour', TIMESTAMP '2001-02-16 20:38:40');
Result: 2001-02-16 20:00:00+00

SELECT date_trunc('year', TIMESTAMP '2001-02-16 20:38:40');
��̡� 2001-01-01 00:00:00+00

4.8.3. ���ߤ�����/����

�ʲ��δؿ��ϡ����ߤ����դޤ��ϻ��֤�������뤿��δؿ��Ǥ���


CURRENT_DATE
CURRENT_TIME
CURRENT_TIMESTAMP
CURRENT_TIME ( precision )
CURRENT_TIMESTAMP ( precision )

CURRENT_TIME �� CURRENT_TIMESTAMP �ؿ������٤Υѥ�᡼���򥪥ץ�����Ϳ���뤳�Ȥ��Ǥ�����¿����ü�����ݤ���̤�⤿�餷�ޤ���

Note: PostgreSQL 7.2 �����Ǥ����٥ѥ�᡼���ϼ�������Ƥ���ޤ���Ǥ����������Ʒ�̤Ͼ�������ˤ���äȤʤ�ޤ�����

Note: SQL99 ɸ�൬�ʤˤ��Ȥ����δؿ��ϡ����٥ѥ�᡼����Ϳ�����Ƥ��ʤ��¤�ݳ�̤��դ��ʤ��ǵ��Ҥ���ʤ���Фʤ�ޤ��� PostgreSQL 7.2 �����Ǥ���Ȥε��Ҥ�̵���ݳ�̤򵭽Ҥ��Ƥ⹽���ޤ��󤬡����̤�̵������Υ�꡼���ǤϺ�������ͽ��Ǥ���

SELECT CURRENT_TIME;
14:39:53.662522-05

SELECT CURRENT_DATE;
2001-12-23

SELECT CURRENT_TIMESTAMP;
2001-12-23 14:39:53.662522-05

SELECT CURRENT_TIMESTAMP(2);
2001-12-23 14:39:53.66-05

now() �ؿ��� CURRENT_TIMESTAMP �ߴ��� PostgreSQL �˱���������Ǥ���

Ʊ���� timeofday() �ؿ������äơ����Ū��ͳ�ˤ�� timestamp ���ͤǤϤʤ��ƥ�����ʸ������֤��ޤ���

SELECT timeofday();
 Sat Feb 17 19:07:32.000126 2001 EST

CURRENT_TIMESTAMP �ȡ�����˴�Ϣ����ؿ��Ϥ��٤Ƹ��ߤΥȥ�󥶥�����󤬳��Ϥ��줿���֤��֤����Ȥ�ǧ�����Ƥ����������ȤƤ���פʤ��ȤǤ��������ͤϥȥ�󥶥�����󤬼¹Ԥ���Ƥ���֤����ä��ޤ��󡣤Ȥϸ��äƤ⡢timeofday() �ϼºݤθ��߻��֤��֤��ޤ���

���٤Ƥ�����/����ǡ�������Ʊ���� now �Ȥ������ߤ����դȻ�������ꤹ���ü�ʥ�ƥ���ͤ�����դ��ޤ����������äơ������� 3 �Ĥμ¹Է�̤Ϥ��٤�Ʊ����ΤȤʤ�ޤ���

SELECT CURRENT_TIMESTAMP;
SELECT now();
SELECT TIMESTAMP 'now';

Note: �ơ��֥�������������ǥե�����ͤ����ꤹ��Τ� 3 ���ܤη�����Ȥ����Ȥϻפ�ʤ��Ǥ��礦���������ᤵ�줿���������ƥब now �� timestamp ���Ѵ�����Τǡ��ǥե�����ͤ�ɬ�פʾ��ϥơ��֥뤬�������줿���郎�Ȥ��ޤ����ǽ�� 2 �Ĥη����ϥǥե�����ͤ����Ѥ����ޤ�ɾ������ޤ��󡣤Ǥ����顢�����δؿ�������������˥ǥե���Ȥ˳�ä����񤤤򤷤ޤ���

Notes

[1]

���ڥ졼�ƥ��󥰥����ƥ�Ǥ��뤦�ä���������Ƥ������ 60 �ޤ�