¾�ΥС�������ʸ�� �� 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

6.8. ����/����ؿ��ȱ黻��

Table 6-18 �ϡ�����/���﷿���ͤν����ǻ��Ѳ�ǽ�ʴؿ��򼨤��Ƥ��ޤ����ܺ٤ϡ��ʲ��������ɽ���Ƥ��ޤ��� Table 6-17 �ϡ�(+��* ����) ����Ū�ʻ��ѱ黻�Ҥο��񤤤��������Ƥ��ޤ����ե����ޥåƥ��󥰴ؿ��ˤĤ��Ƥ� Section 6.7 �򻲾Ȥ�������������/����ǡ��������դ��Ƥ��طʤȤʤäƤ����������̤��Ƥ��ʤ���Фʤ�ޤ��� ( Section 5.5 �򻲾�)��

�ʲ��ǵ��Ҥ���Ƥ��롢����ޤ��ϥ����ॹ��������Ϥ�������ؿ�����ӱ黻�ҤϤ��٤ơ��ºݤˤ� 2 �Ĥ��ѿ�����ޤ��� �ҤȤĤϻ������դ��λ���ޤ��ϥ����ॹ����פǡ��⤦ 1 �Ĥϻ�����̵���λ���ޤ��ϥ����ॹ����פǤ��� ��ά�Τ��ᡢ�������ѿ��ϸ��̤�ɽ������ޤ���

Table 6-17. ����/����黻��

̾�������
+ 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: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:00'
- time '05:00' - interval '2 hours'time '03:00: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:00'

Table 6-18. ����/����ؿ�

̾���֤��ͷ����������
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���������ա�Section 6.8.4 �򻲾ȡ�   
current_timetime with time zone�����λ��Section 6.8.4 �򻲾ȡ�   
current_timestamptimestamp with time zone���դȻ��Section 6.8.4 �򻲾ȡ�   
date_part(text, timestamp)double precision (������)��ʬ�ե�����ɤμ��� (extract ��Ʊ��)�� ���� �⻲�ȡ� date_part('hour', timestamp '2001-02-16 20:38:40')20
date_part(text, interval)double precision (������)��ʬ�ե�����ɤμ��� (extract ��Ʊ��)�� ���� �⻲�ȡ� date_part('month', interval '2 years 3 months')3
date_trunc(text, timestamp)timestamp���ꤵ�줿���٤��ڼΤơ� Section 6.8.2 �⻲�ȡ� date_trunc('hour', timestamp '2001-02-16 20:38:40')2001-02-16 20:00:00+00
extract(field from timestamp)double precision (������)��ʬ�ե�����ɤμ�����Section 6.8.1 �⻲�ȡ� extract(hour from timestamp '2001-02-16 20:38:40')20
extract(field from interval)double precision (������)��ʬ�ե�����ɤμ�����Section 6.8.1 �⻲�ȡ� extract(month from interval '2 years 3 months')3
isfinite(timestamp)boolean (������)ͭ�� timestamp �Υƥ��� (̵���⤷����̵����)isfinite(timestamp '2001-02-16 21:28:30')true
isfinite(interval)boolean (������)ͭ�� interval �Υƥ���isfinite(interval '4 hours')true
localtimetime�����λ��Section 6.8.4 �򻲾ȡ�   
localtimestamptimestamp���դȻ��Section 6.8.4 �򻲾ȡ�   
now()timestamp with time zone���ߤ����դȻ��� (current_timestamp ��Ʊ��)�� Section 6.8.4 �򻲾ȡ�   
timeofday()text (�ƥ�����)���ߤ����դȻ��Section 6.8.4 �򻲾ȡ� timeofday()Wed Feb 21 17:01:13.000126 2001 EST

6.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');
��̡� 20

century �ե�����ɤϡ�ǯ�ե�����ɤ�ñ�� 100 �ǽ���������Τǡ�1900 ǯ��ΤۤȤ�ɤ�ǯ�� 20 �����Ȥ��뽾�������Ȥϰۤʤ�ޤ���

day (��)

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

SELECT EXTRACT(DAY FROM TIMESTAMP '2001-02-16 20:38:40');
��̡� 16
decade (��ǯ)

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

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

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

SELECT EXTRACT(DOW FROM TIMESTAMP '2001-02-16 20:38:40');
��̡� 5
doy (�̻�����)

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

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

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

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

SELECT EXTRACT(EPOCH FROM INTERVAL '5 days 3 hours');
��̡� 442800
hour (��)

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

SELECT EXTRACT(HOUR FROM TIMESTAMP '2001-02-16 20:38:40');
��̡� 20
microseconds (�ޥ�������)

ü����ʬ��ޤߡ�1,000,000 ��褸��줿�åե�����ɡ� ���٤Ƥ��ä�ޤळ�Ȥ�����

SELECT EXTRACT(MICROSECONDS FROM TIME '17:12:28.5');
��̡� 28500000
millennium (�ߥ�˥���)

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

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

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

milliseconds (�ߥ���)

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

SELECT EXTRACT(MILLISECONDS FROM TIME '17:12:28.5');
��̡� 28500
minute (ʬ)

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

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

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

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

SELECT EXTRACT(MONTH FROM INTERVAL '2 years 3 months');
��̡� 3

SELECT EXTRACT(MONTH FROM INTERVAL '2 years 13 months');
��̡� 1
quarter (��Ⱦ��)

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

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

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

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

SELECT EXTRACT(SECOND FROM TIME '17:12:28.5');
��̡� 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');
��̡� 7
year (ǯ)

ǯ�ե������

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

extract �ؿ��Ϥ�Ȥ�ȷ׻���������Ū�Ǥ���������/������ͤ�ɽ��������Ū�ǤΥե����ޥƥ��󥰤��դ��Ƥ� Section 6.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');
��̡� 16

SELECT date_part('hour', INTERVAL '4 hours 3 minutes');
��̡� 4

6.8.2. date_trunc

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

date_trunc('field', source)

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

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

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

�㡧

SELECT date_trunc('hour', TIMESTAMP '2001-02-16 20:38:40');
��̡� 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

6.8.3. AT TIME ZONE

AT TIME ZONE ��ʸ����Ѥ��뤳�Ȥˤ�ꡢ�����ॹ����פ�ۤʤ�����Ӥ��Ѵ����뤳�Ȥ��Ǥ��ޤ���

Table 6-19. AT TIME ZONE �ѿ�

���֤�������
timestamp without time zone AT TIME ZONE zone timestamp with time zoneͿ����줿�����ӤΥ���������֤� UTC ���Ѵ����ޤ���
timestamp with time zone AT TIME ZONE zone timestamp without time zoneUTC ��Ϳ����줿�����ӤΥ���������֤��Ѵ����ޤ���
time with time zone AT TIME ZONE zone time with time zone�����Ӥ˴ط��ʤ�����������֤��Ѵ����ޤ���

�嵭�μ��Ǥϡ����ꤹ����֤� zone �ϡ�('PST' �Τ褦��) �ƥ�����ʸ���󡢤ޤ��� (INTERVAL '-08:00' �Τ褦��) ���ֳִ֤ǻ��ꤹ�뤳�Ȥ��Ǥ��ޤ���

�ʲ�����򼨤��ޤ� (TimeZone �� PST8PDT �����ꤷ�Ƥ��ޤ�)��

SELECT TIMESTAMP '2001-02-16 20:38:40' AT TIME ZONE 'MST';
��̡� 2001-02-16 19:38:40-08

SELECT TIMESTAMP WITH TIME ZONE '2001-02-16 20:38:40-05' AT TIME ZONE 'MST';
��̡� 2001-02-16 18:38:40

�ǽ����Ǥϡ������Ӥ˴ط��Τʤ������ॹ����פ����Ѥ��졢���줬 MST ���� (GMT-7) �Ȥ��Ʋ�ᤵ�졢UTC �����ॹ����פ��������ޤ������줫�顢UTC �����ॹ����פ���ɽ���� PST (GMT-8) ���֤��������ޤ��� 2 ���ܤ���Ǥϡ�EST (GMT-5) �˻��ꤵ�줿�����ॹ����פ����Ѥ��졢���줬 MST (GMT-7) �ǤΥ���������֤��Ѵ�����Ƥ��ޤ���

�ؿ� timezone(zone, timestamp) �ϡ�SQL ���ι�ʸ timestamp AT TIME ZONE zone ��Ʊ����ǽ��̤����ޤ���

6.8.4. ���ߤ�����/����

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

CURRENT_DATE
CURRENT_TIME
CURRENT_TIMESTAMP
CURRENT_TIME ( precision )
CURRENT_TIMESTAMP ( precision )
LOCALTIME
LOCALTIMESTAMP
LOCALTIME ( precision )
LOCALTIMESTAMP ( precision )

CURRENT_TIME ����� CURRENT_TIMESTAMP �ؿ��Ǥϡ������Ӥ�ȼ���ͤ򰷤��ޤ���������LOCALTIME ����� LOCALTIMESTAMP �Ǥϡ������Ӥ�ȼ��ʤ��ͤ򰷤��ޤ���

CURRENT_TIME��CURRENT_TIMESTAMP��LOCALTIME������� LOCALTIMESTAMP �ؿ��Ǥϡ����٤Υѥ�᡼���򥪥ץ�����Ϳ���뤳�Ȥ��Ǥ�������˹�碌��ü�����ݤ���̤�⤿�餷�ޤ��� ���٤Υѥ�᡼�����ʤ���硢��̤ϻ��Ѳ�ǽ�ʺ������٤ǽ��Ϥ���ޤ���

Note: 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

SELECT LOCALTIMESTAMP;
2001-12-23 14:39:53.662522

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

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

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

CURRENT_TIMESTAMP �ȡ�����˴�Ϣ����ؿ��ϡ����٤Ƹ��ߤΥȥ�󥶥�����󤬳��Ϥ��줿���֤��֤����Ȥ����򤷤Ƥ��������������ͤϡ��ȥ�󥶥�����󤬼¹Ԥ���Ƥ���֤��Ѳ����ޤ��� timeofday() �ϡ��ɻ��׻�����֤����ȥ�󥶥�����󤬼¹Ԥ���Ƥ���֤ˤ����ä��ޤ���

Note: ¾��¿���Υǡ����١��������ƥ�Ǥϡ��������ͤ������ˤ����ä����ޤ���

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

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

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

Notes

[1]

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