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

CREATE CAST

Name

CREATE CAST -- �桼��������㥹�Ȥ����

Synopsis

CREATE CAST (sourcetype AS targettype)
    WITH FUNCTION funcname (argtype)
    [ AS ASSIGNMENT | AS IMPLICIT ]

CREATE CAST (sourcetype AS targettype)
    WITHOUT FUNCTION
    [ AS ASSIGNMENT | AS IMPLICIT ]

����

CREATE CAST ����Ѥ���ȡ����������㥹�Ȥ�����Ǥ��ޤ��� ���㥹�Ȥˤ�ꡢ2 �ĤΥǡ������֤��Ѵ�������ˡ����ꤷ�ޤ����ʲ�����򼨤��ޤ���

SELECT CAST(42 AS text);

���ν�����¹Ԥ���ȡ������˻��ꤵ�줿�ؿ� (���ξ�� text(int4)) ��ƤӽФ�������������Ǥ��� 42 �� text �ǡ��������Ѵ����ޤ��� (Ŭ�ڤʥ��㥹�Ȥ��������Ƥ��ʤ���硢�Ѵ������ϼ��Ԥ��ޤ���)

2 �ĤΥǡ������ϡ��Х��ʥ�ߴ��������� ��礬����ޤ����Ĥޤꡢ�ּ�ͳ�� (�ؿ���ƤӽФ�����)�פ��ߤ��Υǡ��������Ѵ����뤳�Ȥ��Ǥ��ޤ��� ���ξ�硢�б������ͤϡ�Ʊ������ɽ������Ѥ��Ƥ���ɬ�פ�����ޤ��� ���Ȥ��С��ǡ����� text ����� varchar �ϡ��Х��ʥ�ߴ���������ޤ���

�ǥե���ȤǤϡ����㥹�Ȥ�����Ū�ʥ��㥹���׵᤬���ä����Τ߸ƤӽФ���ǽ�Ǥ�������Ū�ʥ��㥹�Ȥι�ʸ�Ȥϡ�CAST(x AS typename)��x::typename���⤷���� typename(x) �Ǥ���

���㥹�Ȥ� AS ASSIGNMENT ���ץ������դ���ȡ��оݥǡ������������������ݡ�����Ū�ˤ��Υ��㥹�Ȥ�ƤӽФ��褦������Ǥ��ޤ��� ���Ȥ��С�foo.f1 �� text ���Υ����Ǥ���Ȥ��ޤ���

INSERT INTO foo(f1) VALUES(42);

integer ������ text �����Ѵ����륭�㥹�Ȥ� AS ASSIGNMENT ���ץ�����դ����Ƥ���С��嵭�� SQL ʸ�ϼ¹Բ�ǽ�Ǥ������ץ�����դ��Ƥ��ʤ���С��¹ԤǤ��ޤ��� (����Ū�ˡ����μ�Υ��㥹�Ȥ��������㥹���ȸƤФ�Ƥ��ޤ��� )

���㥹�Ȥ� AS IMPLICIT ���ץ������դ���ȡ������Ǥ⡢�⤷���ϼ�����ˤ����ΤǤ⡢���٤ƤΥ���ƥ����Ȥǰ���Ū�ˤ��Υ��㥹�Ȥ�ƤӽФ��褦������Ǥ��ޤ��� �ʲ�����򻲾Ȥ��Ƥ���������|| �� text ���ΰ�����������ޤ��Τǡ�

SELECT 'The time is ' || now();

�Ȥ��� SQL ʸ�ϡ�timestamp ������ text �����Ѵ����륭�㥹�Ȥ� AS IMPLICIT ���ץ�����դ����Ƥ�����Τ߼¹Բ�ǽ�Ǥ��� ���ץ�����դ��Ƥ��ʤ���С��ʲ��Τ褦������Ū�˥��㥹�Ȥ򵭽Ҥ���ɬ�פ�����ޤ���

SELECT 'The time is ' || CAST(now() AS text);

(����Ū�ˡ����μ�Υ��㥹�Ȥ����ۥ��㥹���ȸƤФ�Ƥ��ޤ��� )

���ۥ��㥹�Ȥϡ�¿�Ѥ��ʤ����������Ǥ��� ����Ū���㥹�Ȥ���Ѥ�������ȡ�PostgreSQL �����ޥ�ɤ�פ�̰�̣�˲�ᤷ�Ƥ��ޤ������ˤʤ�ޤ����⤷���ϡ�ʣ���β�᤬��ǽ�ʤ��ᡢ���ޥ�ɤ�ޤä������ɤǤ��ʤ��ʤäƤ��ޤ���ǽ���⤢��ޤ��� �и�Ū�ˤϡ�Ʊ������Ū�ʥǡ��������ƥ���Υǡ������֤ǡ�������ݻ������Ѵ��ǤΤߡ����ۥ��㥹�Ȥ�ƤӽФ���ǽ�ˤ���Τ��ɤ���ˡ�Ȼפ��ޤ��� ���Ȥ��С�int2 ������ int4 ���ؤΥ��㥹�Ȥϡ����ۥ��㥹�Ȥˤ���Τ������Ǥ�����float8 ������ int4 ���ؤΥ��㥹�Ȥϡ������餯�������㥹�ȤȤ��٤��Ǥ��礦�� text ������ int4 ���ؤ��Ѵ��Τ褦�ʡ����ƥ����ۤ���ǡ������Υ��㥹�Ȥϡ�����Ū�ˤΤ߻��Ѥ���Τ�Ŭ�ڤǤ���

���㥹�Ȥ������ǽ�ˤ���ˤϡ��Ѵ����ޤ����Ѵ���Υǡ��������ͭ���Ƥ���ɬ�פ�����ޤ��� �ޤ����Х��ʥ�ߴ��������륭�㥹�Ȥ��������ˤϡ������ѡ��桼���Ǥ���ɬ�פ�����ޤ� (�Х��ʥ�ߴ��������륭�㥹���Ѵ�����äƻ��Ѥ���ȥ����Ф�����å��夷�Ƥ��ޤ���ǽ�����⤤���Ȥ��顢�������¤��դ����ޤ���)��

�ѥ�᡼��

sourcetype

���㥹�Ȥ����Ѵ����Υǡ�������̾���Ǥ���

targettype

���㥹�Ȥ����Ѵ���Υǡ�������̾���Ǥ���

funcname(argtype)

���δؿ��ϡ����㥹�Ȥ�¹Ԥ��뤿��˻��Ѥ��ޤ��� �ؿ�̾�ϡ��������޽�������Ƥ����ǽ��������ޤ��� �������޽�������Ƥ��ʤ���硢�ؿ��ϥѥ��Ǹ�������ޤ��� �����Υǡ������ϥ��㥹�Ȥ��Ѵ����Υǡ������ȡ���̤Υǡ������ϥ��㥹�Ȥ��Ѵ���Υǡ������Ȱ��פ���ɬ�פ�����ޤ��� �ޤ������㥹�ȴؿ��ϡ�immutable (����) �ޤ��� stable (����) �Ȥ���ɬ�פ�����ޤ���

WITHOUT FUNCTION

�Ѵ����ǡ�����������Ѵ���ǡ������ϡ��Х��ʥ�ߴ��������뤳�Ȥ򼨤��ޤ����������äơ����㥹�Ȥ�¹Ԥ���Τ˴ؿ���ɬ�פ���ޤ���

AS ASSIGNMENT

��������ƥ����Ȥǡ�����Ū�˥��㥹�Ȥ�ƤӽФ��뤳�Ȥ򼨤��ޤ���

AS IMPLICIT

Ǥ�դΥ���ƥ����Ȥǡ�����Ū�˥��㥹�Ȥ�ƤӽФ��뤳�Ȥ򼨤��ޤ���

����

�桼������Υ��㥹�Ȥ�������ˤϡ�DROP CAST ����Ѥ��ޤ���

�ǡ����������������ѹ���ǽ�ˤ���ˤϡ��������Υ��㥹�Ȥ�����Ū���������ɬ�פ����뤳�Ȥ����դ��Ƥ���������

PostgreSQL 7.3 ������ΥС������Ǥϡ��ǡ�������Ʊ��̾���δؿ��Ϥ��٤Ƥ��Υǡ��������֤��ޤ������ޤ����ۤʤ�ǡ������ΰ����� 1 �ļ�äƤ���ȡ����줬��ưŪ�˥��㥹�ȴؿ��Ȥ���Ƥ��ޤ����� ���δ����ϡ��������ޤ�Ƴ���������������ǥХ��ʥ�ߴ��������륭�㥹�Ȥ�ɽ����ǽ�ˤʤä����Ȥˤ�ꡢ�ػߤ���ޤ����� (�Ȥ߹��ߥ��㥹�ȴؿ��ϡ��ޤ�����̿̾��§�˽��äƤ��ޤ��������������ߤ� pg_cast �ǥ��㥹�ȤȤ��Ƽ������ɬ�פ�����ޤ��� )

��

�ؿ� int4(text) ����Ѥ��� text ������ int4 ���ؤΥ��㥹�Ȥ��������ˤϡ��ʲ��Τ褦�ˤ��ޤ���

CREATE CAST (text AS int4) WITH FUNCTION int4(text);

(���Υ��㥹�Ȥϡ������ƥ�ˤ��Ǥ˻����������Ƥ��ޤ���)

�ߴ���

CREATE CAST �ϡ�SQL99 �ǤϥХ��ʥ�ߴ���������ǡ������˥ץ��ӥ�����������ʤ����Ȥ������SQL99 �˽�򤷤Ƥ��ޤ��� AS IMPLICIT �⡢PostgreSQL �γ�ĥ�Ǥ���

��Ϣ����

CREATE FUNCTION��CREATE TYPE��DROP CAST��PostgreSQL �ץ�����ޥ�����