PostgreSQL �ϥơ��֥��������Ĺ¿����������Ȥ���������뤳�Ȥ��Ǥ��ޤ����ޤ�����¸�Υǡ�������桼����������������������뤳�Ȥ��ǽ�Ǥ����ºݤ�����λȤ��������������뤿��ˡ��Ĥ��Υơ��֥��������ޤ���
CREATE TABLE sal_emp ( name text, pay_by_quarter integer[], schedule text[][] );
���Ƥ����Τ褦������ǡ��������������ǤΥǡ�������̾���˳å��å���[]�ˤ�Ĥ��ƻ��ꤷ�ޤ��� �嵭�Υ��ޥ�ɤ� text��ʸ���� (name)�����Ȱ��λ�Ⱦ���ε�Ϳ����¸���� integer ���ΰ켡������ (pay_by_quarter)�������ƽ��Ȱ��ν��֥������塼�����¸���� text ���������� (schedule) �������� sal_emp �Ȥ���̾���Υơ��֥��������ޤ���
����Ǥ� INSERT ���Ĥ��¹Ԥ��Ƥߤޤ��礦�� ��������Ǥ��ͤ��ɲä���ݤˤϤ������Ǥ��ͤ��楫�å��ǰϤߡ����줾������Ǥ��ͤ�ޤǶ��ڤäƤ��뤳�Ȥ����դ��Ƥ��������� C ������ΤäƤ���ʤ�С���¤�Τ��������뤿��ι�ʸ�Τ褦�ʤ�Τȹͤ��Ƥ���������
INSERT INTO sal_emp VALUES ('Bill', '{10000, 10000, 10000, 10000}', '{{"meeting", "lunch"}, {}}'); INSERT INTO sal_emp VALUES ('Carol', '{20000, 25000, 25000, 25000}', '{{"talk", "consult"}, {"meeting"}}');
����Ǥϡ�sal_emp ���Ф����䤤��碌��ԤäƤߤޤ��礦���ޤ������ˤҤȤĤ���������Ǥ˥����������뤷�������ޤ��������䤤��碌����2��Ⱦ���˵������ѹ������ä����Ȱ���̾������Ф��ޤ���
SELECT name FROM sal_emp WHERE pay_by_quarter[1] <> pay_by_quarter[2]; name ------- Carol (1 row)
�����ź���ֹ�ϳä��ä��ǽ�ޤ��� �ǥե���Ȥ� PostgreSQL ��������Ф���1 �Ϥޤ�פ��ֹ��յ������Ѥ��Ƥ��ޤ����Ĥޤ����Ǥ� n �Ĥ�������� array[1] �ǻϤޤꡢarray[n] �ǽ����ޤ���
�����䤤��碌�Ϥ��٤Ƥν��Ȱ�����3��Ⱦ���ε�Ϳ����Ф��ޤ���
SELECT pay_by_quarter[3] FROM sal_emp; pay_by_quarter ---------------- 10000 25000 (2 rows)
�ޤ���������������Ǥ�դΰ���ʬ����������Ȥ��ǽ�Ǥ��� 1 �����ʾ������ˤĤ�������ΰ�����ˤϡ�lower-bound:upper-bound �ȵ��Ҥ��ޤ��� �����䤤��碌�� Bill �Τ��ν��ν��� 2 �� �˺ǽ�ʤˤ�ͽ�ꤵ��Ƥ��뤫����Ф��ޤ���
SELECT schedule[1:2][1:1] FROM sal_emp WHERE name = 'Bill'; schedule -------------------- {{meeting},{""}} (1 row)
�ʲ��Τ褦�˽��Ȥ�Ǥ��ޤ���
SELECT schedule[1:2][1] FROM sal_emp WHERE name = 'Bill';
��̤�Ʊ���Ǥ��� �����ź�����Ф���黻�ϡ��ɤ줫�ҤȤĤǤ�ź���� lower:upper �Ȥ��������ǽ�Ƥ���ȡ�����ΰ�����ɽ���Ƥ�������ꤷ�ޤ��� 1 �Ĥ��ͤ��������ꤵ����硢Ǥ�դ�ź���ˤĤ��Ʋ��¤� 1 �Ȳ��ꤷ�ޤ���
������ͤ٤��֤������뤳�Ȥ��ǽ�Ǥ���
UPDATE sal_emp SET pay_by_quarter = '{25000,25000,27000,27000}' WHERE name = 'Carol';
�ޤ��� 1 �Ĥ����Ǥ����뤳�Ȥ��ǽ�Ǥ���
UPDATE sal_emp SET pay_by_quarter[4] = 15000 WHERE name = 'Bill';
���뤤�ϰ���ʬ�ι������ǽ�Ǥ���
UPDATE sal_emp SET pay_by_quarter[1:2] = '{27000,27000}' WHERE name = 'Carol';
����ϡ����Ǥ�¸�ߤ��Ƥ����������Ǥ�ľ�塢�⤷���ϥǡ��������Ǥ����äƤ�������ΰ���ʬ�˾��/�������뤳�Ȥˤ�ä�������礭�����ѹ��Ǥ��ޤ������Ȥ��С���������Ǥ����� 4 �Ĥ���Ȥ���array[5] ����ꤹ��Ȥ�����������Ǥ� 5 �Ĥˤʤ�ޤ������ߤǤϡ����Τ褦������γ�ĥ�� 1 ��������ǤΤ߲�ǽ�ȤʤäƤ��ơ�¿��������ǤϤǤ��ޤ���
����ΰ����λ���� 1 �Ϥޤ�ʳ���ź���������������ޤ����㤨��ź���� -2 ���� 7 �ޤǤ��ͤ�������� array[-2:7] �ǻ���Ǥ��ޤ���
CREATE TABLE �ι�ʸ�Ǹ���Ĺ�����������Ǥ��ޤ���
CREATE TABLE tictactoe ( squares integer[3][3] );
�ȤϤ��äƤ⸽�ߤμ����Ǥϡ�����κ��祵�������פ��ޤ��� �礭������ꤷ�Ƥ��ʤ������Ʊ��ư��ˤʤ�ޤ���
�ºݤˤϡ����ߤμ����Ǥϼ����������פ��ޤ���������礭���伡�����ˤ�����餺����������δ��ܷ�������Ϥ��٤�Ʊ�����Ǥ���Ȥߤʤ���ޤ����Ǥ����鼡���Ȥ��礭���ο��� CREATE TABLE ��������Ȥ��Ƥ⤽���ñ�ʤ뵭�Ҥˤ��������¹Ի��ο���˱ƶ���Ϳ���ޤ���
array_dims �ؿ���Ǥ�դ������ͤθ��ߤμ�������Ф��ޤ���
SELECT array_dims(schedule) FROM sal_emp WHERE name = 'Carol'; array_dims ------------ [1:2][1:1] (1 row)
array_dims �ؿ��ϡ�text ���Ƿ�̤��֤��ޤ��� �ʹ֤���̤뤿��ˤ������Ǥ������ץ������ˤȤäƤϤ��ޤ�ͭ���ǤϤʤ����⤷��ޤ���
������Ǥ����ͤ�����ˤϡ���������Ǥ��٤Ƥ�����ɬ�פ�����ޤ����⤷������礭�����狼�äƤ���ʤ�м��ȤǤ⸡���Ǥ��ޤ���
SELECT * FROM sal_emp WHERE pay_by_quarter[1] = 10000 OR pay_by_quarter[2] = 10000 OR pay_by_quarter[3] = 10000 OR pay_by_quarter[4] = 10000;
�ȤϤ��äƤ⤳����ˡ�Ǥ��礭������Ǥ����Ѥʺ�ȤȤʤ�ޤ�����������礭���������ʾ�礳����ˡ��¹ԤǤ��ޤ���PostgreSQL ��ɸ������ʪ�����äƤ��ʤ��ȤϤ��äƤ⡢�����ͤ��Ф��Ʒ����֤�������Ԥ��������ؿ���黻�Ҥ���������ĥ���Ȥ��ޤ�����������Ѥ��ơ������ۤɤ��䤤��碌��ʲ��Τ褦�˽��Ȥ��Ǥ��ޤ���
SELECT * FROM sal_emp WHERE pay_by_quarter[1:4] *= 10000;
�����(�������Τߤ����ǤϤʤ�)���٤Ƥ����Ǥ�����ˤϤĤ��Τ褦�ˤ��ޤ���
SELECT * FROM sal_emp WHERE pay_by_quarter *= 10000;
������ͤ� 10,000 �Ȱ��פ�������ιԤⲼ���Τ褦���Ƹ����Ǥ��ޤ���
SELECT * FROM sal_emp WHERE pay_by_quarter **= 10000;
���Υ��ץ����⥸�塼��ȡ��뤹��ˤ� PostgreSQL �Υ������ǥ����ȥ�ӥ塼������ contrib/array �ǥ��쥯�ȥ�Ȥ��Ƥ���������
Tip: ����Ͻ���ǤϤ���ޤ��� �������Τ褦���������Ѥ��ʤ���Фʤ�ʤ��Ȥ��ϡ����Ƥ��ƥǡ����١������߷ץߥ��Ǥ����ǽ�����礭���Ȥ������ȤǤ�������Υե�����ɤϰ���Ū�ˤϤ��줾��㤦�ơ��֥�Ǥ���٤��Ǥ����ơ��֥�����餫�˸�������Τ������Ǥ���
Note: �������Ǥ���������θ³��ϸġ�����������Ǥ� SQL �� null �ͤǤ��äƤϤʤ�ʤ����ȤǤ��� �������Τ� null �����ꤹ�뤳�ȤϤǤ��ޤ�������������Ǥ� null �� null �Ǥʤ���Τߤ����뤳�ȤϤǤ��ޤ���������β��� TO-DO �ꥹ�Ȥ˵Ƥ���ޤ���
���������Ϲ�ʸ. ������ͤγ���ɽ������������Ǥη����Ф��� I/O �Ѵ��롼��˴�Ť����������줿���ܤ�����ι�¤���������ܤǹ�������Ƥ��ޤ���������������ͤ��楫�å� ({ and }) �ǰϤ����ΤȤĤ��ι��ܤȤδ֤���ڤ�ʸ���Ƕ��ڤä���ΤǤ������ڤ�ʸ�����̾參��� (,) �Ǥ����ۤ���ʸ���Ǥ⤫�ޤ��ޤ�����������Ǥη� typdelim �����ꤹ�뤳�ȤǷ�ޤ�ޤ��� (PostgreSQL ����ʪ�ˤ�����ɸ��Υǡ���������� box ���ϥ��ߥ����� (;) ��Ȥ��ޤ������Τۤ����٤Ƥϥ���ޤ�ȤäƤ��ޤ���)¿��������ǤϤ��줾��μ���(���̡�Ω�Τʤ�)�Ϥ��켫�Ȥγ��ؤˤ������楫�å��ȡ�Ʊ�����ؤ��楫�å��dz��줿�Ĥ��β��Ȥδ֤˶��ڤ�ʸ������Ƥ��ʤ��ƤϤ����ޤ����å��κ�¦�䱦¦�����塢���뤤����Ω�����ɤ��ʸ����ι��ܤ����ˤ˶��������Ƥ⤫�ޤ��ޤ��� ���ܤθ���������줿�����̵�뤵��ޤ���������ɤ����Ф�����ǤϤĤ��α����å������ڤ�ʸ�������ޤǤΤ��٤ƤϹ��ܤ��ͤȸ��ʤ���ޤ���
�������Ǥΰ���. ��Ǽ������褦��������ͤܤ���Ȥ��Ϥ��٤Ƥθ��̤��������Ǥ���ť��å��dz��ʤ���Фʤ�ޤ��⤷��������ͤ�������ͤι�ʸ���Ϥ˺����Ϳ����褦�Ǥ���� ɬ�����Τ褦�ˤ��ʤ���Фʤ�ޤ����㤨���楫�å��䥫���(���뤤�Ϥɤ�ʶ��ڤ�ʸ���Ǥ�)����ť��å����ե���å��夢�뤤�϶��������դ��Ƥ������Ǥ���ť��å��dz���ʤ���Фʤ�ޤ����������Ǥ������ť��å�������������Ϥ������˵ե���å�����դ��ޤ����̤������Ȥ�������ʸ�ȤȤ館��줽���ʤ��٤ƤΥǡ���ʸ�����ݸ��������̵�뤷�Ƥ�褤����Τ���ˤϵե���å��奨�������פ�Ȥ��ޤ���
����ʸ������楫�å�����ڤ�ʸ������ť��å����ե���å��夢�뤤�϶��ޤޤ�Ƥ�������Ǥ��ͤ�������Ͻ�������ť��å��dz���ޤ������Ǥ��ͤ��Ȥ߹��ޤ�Ƥ�����ť��å��ȵե���å���ϵե���å��奨�������פ���ޤ��� ���ͥǡ��������Ф��Ƥ���ť��å����и����ʤ������ꤹ��Τ������Ǥ������ƥ����ȥǡ������ξ����Ѥ�������Ȥʤ������н�Ǥ���褦�ˤ��Ƥ����٤��Ǥ���(����� PostgreSQL ���� 7.2 ��������ο�����ѹ��Ǥ���
Tip: SQL ���ޥ�ɤǽ���ΤϤޤ���ƥ��ʸ������������졢�����ĤŤ����������������뤳�Ȥ�פ��Ф��Ƥ���������ɬ�פȤʤ�ե���å���ο�����������ޤ����㤨�еե���å������ť��å������� text �������ͤ���������ˤϤĤ��Τ褦�˽ʤ���Фʤ�ޤ���
INSERT ... VALUES ('{"\\\\","\\""}');ʸ�����ƥ��ץ����å���������ʸ���Ϥ��Ϥ��줿�Ȥ� {"\\","\""} �Τ褦�˸�����褦�ˤ��뤿��Ϥ�εե���å����������ޤ�����������Ȥ��� text �ǡ��������Ͻ�����Ϳ������ʸ����Ϥ��줾�� \ �� " �ˤʤ�ޤ��� (���Ȥ��� bytea �Τ褦�ˡ����Ͻ����ǵե���å�������̤˰����ǡ���������Ѥ���ȡ���¸����Ƥ����������ǤˤҤȤĤεե���å�����������뤿��ˡ����ޥ�ɤ� 8 �Ĥ�εե���å��夬ɬ�פˤʤ뤳�Ȥ�����ޤ���)