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_date | date | ���������ա�Section 6.8.4 �ȡ� | ||
current_time | time with time zone | �����λ��Section 6.8.4 �ȡ� | ||
current_timestamp | timestamp 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 |
localtime | time | �����λ��Section 6.8.4 �ȡ� | ||
localtimestamp | timestamp | ���դȻ��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 |
EXTRACT (field FROM source)
extract �ؿ��ϡ�����/������ͤ���ǯ�����ʤɤ���ʬ�ե�����ɤ���Ф��ޤ��� source �� timestamp �ޤ��� interval ��ɾ������ɾ�����Ǥ���date ���ޤ��� time ����ɾ������ timestamp ���˥��㥹�Ȥ���ޤ��Τ�Ʊ�ͤ˻��Ѳ�ǽ�Ǥ��� field �� source ���ͤ���ɤΥե�����ɤ���Ф��뤫�����뼱�̻Ҥ⤷����ʸ����Ǥ���extract �ؿ��������������ͤ��֤��ޤ����ʲ���ͭ�����ͤǤ���
ǯ�ե�����ɤ� 100 �dz�ä����
SELECT EXTRACT(CENTURY FROM TIMESTAMP '2001-02-16 20:38:40'); ��̡� 20
century �ե�����ɤϡ�ǯ�ե�����ɤ�ñ�� 100 �ǽ���������Τǡ�1900 ǯ��ΤۤȤ�ɤ�ǯ�� 20 �����Ȥ��뽾�������Ȥϰۤʤ�ޤ���
(�����)���եե������ (1 - 31)
SELECT EXTRACT(DAY FROM TIMESTAMP '2001-02-16 20:38:40'); ��̡� 16
ǯ�ե�����ɤ� 10 �dz�ä����
SELECT EXTRACT(DECADE FROM TIMESTAMP '2001-02-16 20:38:40'); ��̡� 200
������0��6���������� 0��timestamp ���ͤΤߤǻ��Ѳġ�
SELECT EXTRACT(DOW FROM TIMESTAMP '2001-02-16 20:38:40'); ��̡� 5
ǯ��Ǥ��̻�������1��365/366�ˡ�timestamp ���ͤΤ��Ѳġ�
SELECT EXTRACT(DOY FROM TIMESTAMP '2001-02-16 20:38:40'); ��̡� 47
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
���Υե������ (0 - 23)
SELECT EXTRACT(HOUR FROM TIMESTAMP '2001-02-16 20:38:40'); ��̡� 20
ü����ʬ��ޤߡ�1,000,000 ��褸��줿�åե�����ɡ� ���٤Ƥ��ä�ޤळ�Ȥ�����
SELECT EXTRACT(MICROSECONDS FROM TIME '17:12:28.5'); ��̡� 28500000
ǯ�ե�����ɤ� 1000 �dz�ä����
SELECT EXTRACT(MILLENNIUM FROM TIMESTAMP '2001-02-16 20:38:40'); ��̡� 2
millennium �ե�����ɤ�ǯ�ե�����ɤ�ñ�� 1000 �dz任������Τǡ�1900 ǯ���ǯ����� 2 �ߥ�˥���Ȥ��뽾�������Ȥϰۤʤ�ޤ���
ü����ʬ��ޤߡ�1000 ��褸��줿�åե�����ɡ� ���٤Ƥ��ä�ޤळ�Ȥ�����
SELECT EXTRACT(MILLISECONDS FROM TIME '17:12:28.5'); ��̡� 28500
ʬ�ե������ (0 - 59)
SELECT EXTRACT(MINUTE FROM TIMESTAMP '2001-02-16 20:38:40'); ��̡� 38
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
���������ޤޤ��ǯ�λ�Ⱦ�� (1 - 4) (timestamp ���ͤ��Ф��ƤΤ�)
SELECT EXTRACT(QUARTER FROM TIMESTAMP '2001-02-16 20:38:40'); ��̡� 1
ü����ޤ���åե������ (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
�����ӥ��ե��åȤλ�����ʬ
�����ӥ��ե��åȤ�ʬ����ʬ
timestamp �����ͤ��Ф���������������ǯ���̻��Ǥν�������ޤ��� ISO 8601 ������Ǥϡ�����ǯ�� 1 �� 4 ���ν����� 1 ���Ȥ��ޤ���(ISO �Ǥϡ����Ϸ���������Ϥޤ�Ȥ��Ƥ��ޤ���)�Ĥޤꡢǯ�κǽ�������������뽵������ǯ���� 1 ���Ȥʤ�ޤ���
SELECT EXTRACT(WEEK FROM TIMESTAMP '2001-02-16 20:38:40'); ��̡� 7
ǯ�ե������
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
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
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 zone | UTC ��Ϳ����줿�����ӤΥ���������֤��Ѵ����ޤ��� |
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 ��Ʊ����ǽ��̤����ޤ���
�ʲ��δؿ��ϡ����ߤ����դ����/�ޤ��ϻ��֤�������뤿��δؿ��Ǥ���
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 �Ĥη����ϥǥե�����ͤ����Ѥ����ޤ�ɾ������ޤ��Ǥ����顢�����δؿ�������������˥ǥե���Ȥ˳�ä����ޤ���
[1] | ���ڥ졼�ƥ������ƥ�Ǥ��뤦�ä���������Ƥ������ 60 �ޤ� |