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

5.3. �黻��

�黻�ҸƤӽФ��Υ��ڥ��ɤη��ϰʲ��μ��˽��äƲ�褵��ޤ������μ��ϻ����˹Ԥ�줿�黻�ҸƤӽФ��ˤ��ľ�ܱƶ�����ޤ��󡣤��ܺ٤ˤĤ��Ƥ� Section 1.4 �򻲾Ȥ��Ʋ�������

�黻�ҷ��β��

  1. pg_operator �����ƥ५������������Τ˰��פ��뤫�ɤ������������ޤ���

    1. ���黻�Ҥ�1�Ĥΰ�����unknown���Ǥ��ä���硢���Υ����å��Τ⤦�����ΰ�����Ʊ��η��Ǥ���Ȳ��ꤷ�ޤ���¾�� unknown��ޤ���ϡ������ʳ��Ǥ��Ф򸫤Ĥ��뤳�ȤϤ���ޤ���

  2. �Ǥ�礦��Τ򸡺����ޤ���

    1. ���Ϸ����礦���⤷���Ϲ礦�褦�˷��������뤳�Ȥ��Ǥ��롢Ʊ��̾����������黻�Ҥΰ�����������ޤ���unknown��ƥ��Ϥ�����Ū�Ǥϲ��ˤǤⷿ�����Ǥ���Ȥߤʤ���ޤ��ˡ��⤷1�Ĥ����ʤ����Ϥ����Ȥ��ޤ�������ʳ��ξ��ϼ����ʳ��˿ʤߤޤ���

    2. ���٤Ƥθ���򸡺��������Ϸ��˺Ǥ����Τ˹礦��Τ�Ĥ��ޤ����⤷���Τ˹礦��Τ��ʤ���Ф��٤Ƥθ����Ĥ��ޤ���1�Ĥθ��䤷���Ĥ�ʤ���硢�����Ȥ��ޤ�������ʳ��ξ��ϼ����ʳ��˿ʤߤޤ���

    3. ���٤Ƥθ���򸡺��������Ϸ��˺Ǥ����Τ˹礦���⤷���ϥХ��ʥ�ߴ����Τ����Τ�Ĥ��ޤ����⤷���Τ˹礦��Τ��Х��ʥ�ߴ����Τ����Τ��ʤ���Ф��٤Ƥθ����Ĥ��ޤ���1�Ĥθ��䤷���Ĥ�ʤ���硢�����Ȥ��ޤ�������ʳ��ξ��ϼ����ʳ��˿ʤߤޤ���

    4. ���٤Ƥθ���򸡺��������������׵ᤵ���Ǥ�¿���Υݥ������ι��ޤ����������������Τ�Ĥ��ޤ������ޤ����������������Τ��ʤ���Ф��٤Ƥθ����Ĥ��ޤ���1�Ĥθ��䤷���Ĥ�ʤ���硢�����Ȥ��ޤ�������ʳ��ξ��ϼ����ʳ��˿ʤߤޤ���

    5. ���ϰ��������� "unknown" �ξ��ϡ��Ĥ����Ǥ��ΰ����ΰ��֤Ǽ����դ����뷿���ƥ��������å����ޤ������䤬"ʸ����"���ƥ��������դ�����ϡ����Υ��ƥ�������򤷤ޤ���(unknown ���Υ�ƥ���ʸ����Τ褦�ʤ�ΤǤ��Τǡ�����ʸ����ؤνŤߤŤ���Ŭ�ڤǤ���)����ʤ��С��Ĥ����Ƥθ��䤬Ʊ��η����ƥ��������դ����硢���η������򤷤ޤ�������ʤ��С�����ʾ�μ꤬���꤬�ʤ������Τ�������Ƴ���Ф����Ȥ��Ǥ��ޤ���ΤǼ��ԤȤ��ޤ����ޤ������θ����������򤵤줿���ƥ���ˤ����빥�ޤ����ǡ�����������դ����Τ����뤫�����å�����ޤ��������ǡ����򤵤줿�����ƥ��������դ��ʤ��黻�Ҹ�����˴�����ޤ��������ơ�Ϳ����줿�����ΰ��־�ι��ޤ�����������դ�����䤬1�ĤǤ⤢���硢���ΰ����ι��ޤ������ǤϤʤ���Τ�����դ��������˴�����ޤ���

    6. �⤷1�Ĥθ��䤷���Ĥ�ʤ���硢�����Ȥ��ޤ����⤷1�Ĥθ����Ĥ�ʤ���硢�⤷����1�Ĥ��¿�����䤬�Ĥ���ϼ��Ԥ��ޤ���

��

Example 5-1. �ؿ��黻�ҷ��β��

�����������������줿�ؿ��黻�Ҥ�1�Ĥ���¸�ߤ��� double �������ΰ�����Ȥ�ޤ���������ʤϡ������䤤��碌�μ���ξ���ΰ�����integer�Ȥ�������ʳ��Ǥη��������Ƥޤ���

tgl=> SELECT 2 ^ 3 AS "Exp";
 Exp
-----
   8
(1 row)

�椨�ˡ��ѡ�����ξ���ڥ��ɤ˷��Ѵ���Ԥ�������䤤��碌�ϰʲ���2�ĤΤɤ��餫��Ʊ����Τˤʤ�ޤ���

tgl=> SELECT CAST(2 AS double precision) ^ CAST(3 AS double precision) AS "Exp";
 Exp
-----
   8
(1 row)

tgl=> SELECT 2.0 ^ 3.0 AS "Exp";
 Exp
-----
   8
(1 row)

Note: ����Ū�ʷ��Ѵ���Ԥ��ؿ���ƤӽФ����Ȥ�����ޤ���Τǡ��Ǹ�η������Ǥ⥪���Хإåɤξ��ʤ���Τˤʤ�ޤ�������Ͼ������䤤��碌�Ǥ�����ˤϤʤ�ޤ��󤬡��礭�ʥơ��֥��ȼ���䤤��碌����ǽ�˱ƶ���Ϳ�����ǽ��������ޤ���

Example 5-2. ʸ����η��黻�ҷ��β��

ʸ����Τ褦�ʹ�ʸ�ϡ�ʸ���󷿤����ǤϤʤ���ʣ���ʳ�ĥ���줿���ν����ˤ�Ȥ��ޤ���������Τʤ�ʸ����ϱ黻�Ҹ����Ʊ�ͤΰ��פ��ʤ���ޤ���

1�Ĥΰ����η������ꤵ��ʤ���������򼨤��ޤ���

tgl=> SELECT text 'abc' || 'def' AS "Text and Unknown";
 Text and Unknown
------------------
 abcdef
(1 row)

���ξ�硢�ѡ����ϡ�text��ξ�����ˤȤ�黻�Ҥ�¸�ߤ��뤫�ɤ����򸡺����ޤ��������¸�ߤ��ޤ��Τǡ��ѡ�������2���ܤΰ����� text���Ȥ��Ʋ�᤹�٤��Ǥ���Ȳ���򤷤ޤ���

�����η������ꤵ��ʤ���������򼨤��ޤ���

tgl=> SELECT 'abc' || 'def' AS "Unspecified";
 Unspecified
-------------
 abcdef
(1 row)

���ξ�硢�䤤��碌�˷���������ꤵ��Ƥ��ޤ���Τǡ����Ѥ��٤����ˤĤ��ƤΥҥ�Ȥ�����ʳ��ˤ�����¸�ߤ��ޤ��󡣤Ǥ��Τǡ��ѡ����Ϥ��٤Ƥθ���Ȥʤ�黻�Ҥ򸡺�����ʸ���󥫥ƥ���ȥӥå�ʸ���󥫥ƥ����ξ�������Ϥ�����������䤬���뤳�Ȥ�ȯ�����ޤ���ͭ���Ǥ������ʸ���󥫥ƥ���Τۤ������ޤ����Τǡ����Υ��ƥ��꤬���򤵤�ޤ���������ʸ�����"���ޤ�����" �Ǥ���text��unknown�Υ�ƥ����褹������η��Ȥ��ƻȤ��ޤ���

Example 5-3. �����ͤȳ���黻�Ҥη����

PostgreSQL �黻�ҥ��������ˤϡ�ʣ���Ρ��Ƽ���ͥǡ������������ͻ��Ф�Ԥ���@ ���ֱ黻�ҤΥ���ȥ꤬����ޤ���������ˤϡ����ͥ��ƥ���ˤ����빥�ޤ������Ǥ��� float8 ���ѤΥ���ȥ꤬����ޤ������Τ��ᡢPostgreSQL �Ͽ��Ͱʳ������Ϥ����ä���硢���Υ���ȥ����Ѥ��ޤ���

tgl=> select @ text '-4.5' as "abs";
 abs
-----
 4.5
(1 row)

�����ǥ����ƥ�����򤷤��黻�Ҥ�Ŭ�Ѥ������˰���Ū�ʥƥ����Ȥ��� float8�ؤ��Ѵ���Ԥ��ޤ����ʲ��Τ褦�ˤ���¾�η��ǤϤʤ� float8 �����Ѥ���뤳�Ȥ��ǧ���뤳�Ȥ��Ǥ��ޤ���

tgl=> select @ text '-4.5e500' as "abs";
ERROR:  Input '-4.5e500' is out of range for float8

������! (factorial)���ֱ黻��(����)�ϡ�integer �ǡ������ѤΤ�Τ����������Ƥ��餺��float8 �ѤϤ���ޤ��󡣤Ǥ��Τǡ� ! (factorial) �ˤ������Τ褦�ʾ��ϡ��ʲ��Τ褦�ˤʤ�ޤ���

tgl=> select text '44' ! as "factorial";
ERROR:  Unable to identify a postfix operator '!' for type 'text'
        You may need to add parentheses or an explicit cast

�����ƥबʣ���λ��Ѳ�ǽ�� ! (factorial) �黻�Ҥ���ɤ줬���ޤ������ɤ��������Ǥ��ʤ��ä����Ȥ������ǵ�����ޤ�������Ū�ʥ��㥹�Ȥ�Ԥ����ȤǤ�����ɻߤ��뤳�Ȥ��Ǥ��ޤ���

tgl=> select cast(text '44' as int8) ! as "factorial";
      factorial
---------------------
 2673996885588443136
(1 row)