CREATE OPERATOR name ( PROCEDURE = func_name [, LEFTARG = lefttype ] [, RIGHTARG = righttype ] [, COMMUTATOR = com_op ] [, NEGATOR = neg_op ] [, RESTRICT = res_proc ] [, JOIN = join_proc ] [, HASHES ] [, SORT1 = left_sort_op ] [, SORT2 = right_sort_op ] )
��������黻�ҤǤ������ѤǤ���ʸ���ϲ����Ȥ��Ƥ���������
���α黻�Ҥ�������뤿��˻Ȥ���ؿ��Ǥ���
�⤷������ϡ��黻�Ҥκ��դΰ����η��Ǥ������Υ��ץ����Ϻ�ñ��黻�ҤǤϾ�ά����ޤ���
�⤷������ϡ��黻�Ҥα��դΰ����η��Ǥ������Υ��ץ����ϱ�ñ��黻�ҤǤϾ�ά����ޤ���
���α黻�Ҥθ���黻�ҤǤ���
���α黻�Ҥ�����ҤǤ���
���α黻�Ҥ���������ɾ���ؿ��Ǥ���
���α黻�Ҥη������ɾ���ؿ��Ǥ���
���α黻�Ҥ��ϥå�����ݡ��ȤǤ��뤳�Ȥ��ޤ���
���α黻�Ҥ��ޡ������ݡ��ȤǤ����硢���α黻�Ҥκ��եǡ��������Ȥ���黻�ҤǤ���
���α黻�Ҥ��ޡ������ݡ��ȤǤ����硢���α黻�Ҥα��եǡ��������Ȥ���黻�ҤǤ���
CREATE OPERATOR�ϡ��������黻�� name��������ޤ����黻�Ҥ���������桼�������ν�ͭ�ԤȤʤ�ޤ���
�黻��name�ϡ��ʲ��˼���ʸ���ǡ�NAMEDATALEN-1�ʥǥե���ȤǤ�31��ʸ�����ޤǤ�ʸ����Ǥ���
+ - * / < > = ~ ! @ # % ^ & | ` ? $
$�ϡ�ʣ��ʸ���α黻��̾�ΰ����ˤʤ뤳�ȤϤǤ��ޤ�����ñ��ʸ���α黻�ҤȤ���������뤳�ȤϤǤ��ޤ���
--��/*�ϱ黻��̾�Τɤ��ˤ�Ȥ����Ȥ��Ǥ��ޤ������Ȥγ��ϤȤߤʤ�Ƥ��ޤ�����Ǥ���
ʣ��ʸ���α黻��̾�ϡ������Τ�����1�İʾ��ޤޤʤ��¤� +�ޤ���-�ǽ���뤳�Ȥ��Ǥ��ޤ���
~ ! @ # % ^ & | ` ? $
Note: ��SQLɸ��α黻��̾��Ȥäƺ�Ȥ����硢�̾�Ϥ����ޤ������뤿������ܤ���黻�Ҥڡ����Ƕ��ڤ�ɬ�פ�����ޤ������Ȥ��С�@�Ȥ���̾���κ�ñ��黻�Ҥ����������硢 X*@Y�Ƚ��ȤϤǤ��ޤ��� PostgreSQL��1�ĤǤϤʤ��μ¤�2�Ĥα黻�ҤȤ��Ʋ�᤹�뤿��ˤ�X* @Y�Ƚʤ���Фʤ�ޤ���
�黻��!=�����ϤǤ�<>�˼��������Τǡ�������2�Ĥ�̾���Ͼ�������Ǥ���
���ʤ��Ȥ�LEFTARG��RIGHTARG�Τɤ��餫���������ʤ���Фʤ�ޤ������黻�ҤǤ�ξ�����������ʤ���Фʤ�ޤ���ñ��黻�ҤǤ�LEFTARG�Τߤ��������ʤ���Фʤ餺����ñ��黻�ҤǤ�RIGHTARG�Τߤ��������ʤ���Фʤ�ޤ���
func_name�ץ���������ϡ�CREATE FUNCTION��Ȥäƻ������������Ƥ��ʤ���Фʤ餺�����ꤵ�줿�������������ΰ�����1�Ĥ�2�ġˤ�����դ���褦���������Ƥ��ʤ���Фʤ�ޤ���
¸�ߤ����硢����黻�Ҥϡ�PostgreSQL��ɬ�פ˱����Ʊ黻���ܤν����ȿž�Ǥ���褦��ǧ�������Ƥ����٤��Ǥ������Ȥ��С��ΰ���Ф���֤�꾮�����פ�Ƚ�ꤹ��黻�ҡ�<<<�פϤ����餯���ΰ���Ф���֤���礭���פ�Ƚ�ꤹ��黻�ҡ�>>>�פ����黻�ҤȤ��ƻ��ĤǤ��礦������ˤ�ꡢ�䤤��碌���ץƥ��ޥ����ϼ�ͳ�˰ʲ���ʸ���μ���ʸ���֤������뤳�Ȥ��Ǥ��ޤ���
box '((0,0), (1,1))' >>> MYBOXES.description
MYBOXES.description <<< box '((0,0), (1,1))'
����ˤ��¹ԥ����ɤ���˸�Ԥ�ɽ����Ȥ��褦�ˤǤ����䤤��碌���ץƥ��ޥ������餫ñ��ˤ��뤳�Ȥ��Ǥ��ޤ���
Ʊ�ͤˡ��⤷����Ҥ�������Ϥ����ǧ������Ƥ����٤��Ǥ������Ȥ��С��ΰ�Ρ��������פ�Ƚ�ꤹ��黻�ҡ�===�פ��ΰ�Ρ��������ʤ��פ�Ƚ�ꤹ��黻�ҡ�!==�פȰ���¸�ߤ����Ȥ��ޤ�������Ҥδط��ˤ�ꡢ�䤤��碌���ץƥ��ޥ����ϰʲ���ʸ���μ���ʸ��ñ�㲽���뤳�Ȥ��Ǥ��ޤ���
NOT MYBOXES.description === box '((0,0), (1,1))'
MYBOXES.description !== box '((0,0), (1,1))'
����黻��̾��Ϳ����줿��硢PostgreSQL �ϥ����������椫�餽���õ���ޤ������Ф��줿����黻��̾�θ���黻�Ҥ��ޤ�¸�ߤ��ʤ���硢����黻�ҤΥ���ȥ�Ͽ��������줿�黻�Ҥθ���黻�ҤȤ��ƻ��Ĥ褦�˹�������ޤ������������Ҥˤ�Ŭ�Ѥ���ޤ����ߤ��θ���黻�Ҥޤ�������ҤǤ���2�Ĥα黻�Ҥ��������Ĥ��뤿��Ǥ����ǽ�α黻�Ҥϸ���黻�Ҥ�����ҡʤΤɤ��餫Ŭ�ڤʤ�Ρˤʤ����������ʤ���Фʤ�ޤ���2���ܤα黻�Ҥ���������Ȥ��ˡ��ǽ�α黻�Ҥ����黻�Ҥޤ�������ҤȤ��ƻ��ꤷ�ޤ��������ѤȤ��ƺǽ�α黻�ҤϹ�������ޤ��� PostgreSQL 6.5�ʹߤǤϡ�ξ���α黻�Ҥ����ߤ��Ȥ���褦�ˤ��뤳�Ȥ�Ǥ��ޤ��ˡ�
���ץ����HASHES��SORT1��SORT2�Ϸ��μ¹Ԥ��䤤��碌���ץƥ��ޥ����ݡ��Ȥ��뤿���¸�ߤ��ޤ��� PostgreSQL�Ͼ��ȿ���ִ�[WONG76]�ʤĤޤꡢboolean�ͤ��֤��黻�Ҥˤ�ä�ʬΥ���줿2�ĤΥ��ץ��ѿ�����Ķ�ν����ˤˤ�����ɾ���Ǥ��ޤ������Τۤ��ˡ�PostgreSQL��[SHAP86]�˽��ä��ϥå����祢�르�ꥺ�����Ѥ��뤳�Ȥ��Ǥ��ޤ����ȤϤ������ɤ������ά��Ŭ�ѤǤ��뤫�ɤ������Τ�ɬ�פ�����ޤ������ߤΥϥå����祢�르�ꥺ�����������ɾ�����黻�ҤΤߤ��Ф���ͭ���Ǥ�������ˡ��ǡ��������������ϡ�����ɽ���������ӥå�ñ�̤����������Ȥ��̣���Ƥ��ʤ���Фʤ�ޤ���ʤ��Ȥ��С���������ɾ���˴ط��Τʤ�̤���ѤΥӥåȤ�ޤ�Ǥ���ǡ������ϥϥå����礵���뤳�Ȥ��Ǥ��ޤ���ˡ�HASHES�Υե饰���䤤��碌���ץƥ��ޥ������Ф����ϥå����礬���α黻�Ҥǰ����˻��ѤǤ��뤳�Ȥ��ޤ���
Ʊ�ͤˤ��ơ�2�ĤΥ����ȱ黻�Ҥ��䤤��碌���ץƥ��ޥ������Ф����ޡ��������Ȥ������ά��ͭ�����ɤ����������Ƥɤ���α黻�Ҥ�2�Ĥα黻���ܥ��饹���Ф��ƻ��Ѥ����Τ����ޤ��������ȱ黻�Ҥ������黻�Ҥ��Ф��ƤΤ�����ʤ���Фʤ餺�����줾�줬���դȺ��դΥǡ��������Ф���֤�꾮�����פ�ɾ������黻�ҤȤ��ʤ���Фʤ�ޤ���
¾�η����ά������Ū�Ǥ��ä���硢 PostgreSQL�Ϥ�����ά����Ѥ���褦�˥��ץƥ��ޥ����ȼ¹ԥ����ƥ���ѹ���������黻�Ҥ�������줿�Ȥ����ɲû��ͤ���뤳�Ȥˤʤ�ޤ��������ʤ��Ȥˡ��������Τ������������ά��ȯ�����뤳�Ȥ���¿�ˤʤ����ɲä����桼������η����ά������ʬ�ϡ�����ʣ�����ۤɤ˲��ͤ�����Ȥϻפ��ޤ���
RESTRICT��JOIN���ץ������䤤��碌���ץƥ��ޥ����η�̥������ο����������ޤ����⤷�������Τ褦�ʷ����ζ礬������ˤ����硢 PostgreSQL�Ϥ��ζ��������MYBOXES�ˤ��륤���γ����¬����ɬ�פ�����ޤ���
MYBOXES.description <<< box '((0,0), (1,1))'
res_proc�ؿ��ϡ����Τʥǡ������ΰ�����Ȥꡢ��ư���������ͤ��֤�����Ͽ���줿�ʤ��Ǥ� CREATE FUNCTION��Ȥä�������줿�˴ؿ��Ǥʤ���Фʤ�ޤ����䤤��碌���ץƥ��ޥ�����ñ�ˤ��δؿ��� ((0,0), (1,1))�Ȥ����ѥ������Ϥ��ƸƤӽФ������η�̤˥�졼�����Υ�������ݤ����������δ����ͤ����ꤷ�ޤ���
Ʊ�ͤˡ��黻�Ҥα黻���ܤ�2�ĤȤ⥤�����ѿ�����äƤ����硢�䤤��碌���ץƥ��ޥ����Ϸ��η�̤Υ��������¬���ʤ���Фʤ�ޤ��ؿ�join_proc�Ϸ�̥������δ����ͤ�����뤿��ˡ��ط�����2�ĤΥơ��֥�����ǿ��ˤ�äƾ軻���줿�̤���ư���������ͤ��֤��ޤ���
�ʲ��Τ褦�ʴؿ�������Ȥ��ޤ���
my_procedure_1 (MYBOXES.description, box '((0,0), (1,1))')
�嵭�δؿ��ȡ��ʲ��α黻�ҤȤΰ㤤�� PostgreSQL���黻�Ҥκ�Ŭ����ޤꡢ�黻�Ҥ��ƤӽФ��줿�Ȥ��ˡ��������֤����¤��뤿��˥���ǥå�������Ѥ��뤫�ɤ��������Ǥ��뤳�ȤǤ���
MYBOXES.description === box '((0,0), (1,1))'
�������ʤ��顢�ؿ����Ŭ�����뤳�ȤϤ�������Ǥ���˽�������ޤ�������ˡ��黻�Ҥ�1�Ĥޤ���2�ĤޤǤȰ����ο������¤���Ƥ���Τ��Ф��ơ��ؿ��Ϥɤ�ʿ��ΰ����Ǥ��뤳�Ȥ��Ǥ��ޤ���