이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다PostgreSQL : 문서 : 17 : 젠 스포츠 토토 베트맨 생성버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

스포츠 토토 베트맨 만들기

스포츠 토토 베트맨 만들기 - 새 스포츠 토토 베트맨 정의

시놉시스

CREATE CAST (source_typeastarget_type)function_name[(argument_type[, ...])]source_typeastarget_type)source_typeastarget_type)

설명

스포츠 토토 베트맨 만들기새 출연진을 정의합니다. 스포츠 토토 베트맨는 두 데이터 유형 사이의 변환을 수행하는 방법을 지정합니다.

CAST (42 AS float8); 선택

정수 상수 42를 유형으로 변환float8이전에 지정된 기능을 호출 하여이 경우float8 (int4). (적절한 스포츠 토토 베트맨가 정의되지 않으면 변환이 실패합니다.)

두 가지 유형이 될 수 있습니다이진 강압, 이는 변환을 수행 할 수 있음을 의미무료함수를 호출하지 않고. 이를 위해서는 해당 값이 동일한 내부 표현을 사용해야합니다.텍스트andvarchar이진은 두 가지 방법으로 강요 할 수 있습니다. 이진 강압은 반드시 대칭 관계는 아닙니다.XMLto텍스트현재 구현에서 무료로 수행 할 수 있지만, 역 방향에는 적어도 구문 검사를 수행하는 함수가 필요합니다. (이진 강압이있는 두 가지 유형 모두 이진 호환이라고도합니다.)

스포츠 토토 베트맨를 A로 정의 할 수 있습니다I/O 변환 스포츠 토토 베트맨사용하여with inout구문. I/O 변환 스포츠 토토 베트맨는 소스 데이터 유형의 출력 기능을 호출하고 결과 문자열을 대상 데이터 유형의 입력 함수로 전달하여 수행됩니다.

기본적으로, 명시적인 스포츠 토토 베트맨 요청에 의해서만 스포츠 토토 베트맨를 호출 할 수 있습니다.cast (xastypename)또는x::typename구성.

스포츠 토토 베트맨가 표시된 경우과제그런 다음 대상 데이터 유형의 열에 값을 할당 할 때 암시 적으로 호출 할 수 있습니다. 예를 들어, 그렇게 가정foo.f1유형의 열텍스트, 다음 :

foo (f1) 값 (42);에 삽입

유형에서 스포츠 토토 베트맨가 있으면 허용됩니다Integerto Type텍스트표시과제, 그렇지 않으면. (우리는 일반적으로 용어를 사용합니다과제 스포츠 토토 베트맨이런 종류의 스포츠 토토 베트맨를 설명하려면)

스포츠 토토 베트맨가 표시된 경우암시 적그러면 과제 또는 내부적으로 표현식에서 어떤 맥락에서도 암시 적으로 호출 될 수 있습니다. (우리는 일반적으로 용어를 사용합니다암시 적 스포츠 토토 베트맨이런 종류의 스포츠 토토 베트맨를 설명하려면) 예를 들어이 쿼리를 고려하십시오.

2 + 4.0; 선택

파서는 처음에 상수를 유형으로 표시합니다Integerand숫자각각. 없음정수 + 숫자시스템 카탈로그의 연산자이지만 A가 있습니다.숫자 + 숫자운영자. 따라서 쿼리는에서 스포츠 토토 베트맨되면 성공합니다.Integerto숫자사용 가능하고 표시암시 적- 실제로. 파서는 암시 적 스포츠 토토 베트맨를 적용하고 쿼리가 작성된 것처럼 쿼리를 해결합니다

SELECT CAST (2 AS 숫자) + 4.0;

14965_15010숫자toInteger. 그 스포츠 토토 베트맨가 표시되면암시 적- 그렇지 않습니다 - 파서는 위의 해석과 주조의 대안 중에서 선택하는 데 직면하게됩니다.숫자Constant to정수그리고 적용Integer + Integer운영자. 선호하는 선택에 대한 지식이 부족하여 쿼리를 모호하게 포기하고 선언 할 것입니다.숫자-and-Integer표현 AS숫자; 그것에 대한 지식이 내장되어 있지 않습니다.

스포츠 토토 베트맨를 암시 적으로 표시하는 것에 대해 보수적 인 것이 현명합니다. 암시 적 주조 경로의 과잉이 유발할 수 있습니다PostgreSQL명령에 대한 놀라운 해석을 선택하거나 여러 가지 가능한 해석이 있기 때문에 명령을 전혀 해결할 수 없습니다. 경험의 좋은 규칙은 동일한 일반 유형 범주의 유형간에 정보 보존 변환을 위해 암시 적으로 만 스포츠 토토 베트맨를 촉구 할 수 있도록하는 것입니다.int2toint4합리적으로 암시적일 수 있지만float8toint4아마도 과제 전용이어야합니다. 과 같은 크로스 유형 카테고리 스포츠 토토 베트맨텍스트toint4, 명시 적 전용이 가장 좋습니다.

Note

때로는 유용성 또는 표준 준수 이유가 일련의 유형 사이에 여러 가지 암시 적 스포츠 토토 베트맨를 제공하는 데 필요한 이유가 필요하며, 위와 같이 피할 수없는 모호성을 초래합니다. 파서는에 기반한 폴백 휴리스틱을 가지고 있습니다.유형 카테고리and선호 유형그러한 경우에 원하는 행동을 제공하는 데 도움이 될 수 있습니다. 보다유형 생성자세한 내용은

스포츠 토토 베트맨를 만들 수 있으려면 소스 또는 대상 데이터 유형을 소유하고 있어야합니다usage다른 유형의 특권. 이진적 대응하는 스포츠 토토 베트맨를 만들려면 슈퍼 사용자가되어야합니다.

매개 변수

source_type

스포츠 토토 베트맨의 소스 데이터 유형의 이름.

target_type

스포츠 토토 베트맨의 대상 데이터 유형의 이름.

function_name[(argument_type[, ...])]

스포츠 토토 베트맨를 수행하는 데 사용되는 함수. 함수 이름은 스키마 자격을 얻을 수 있습니다.

기능없이

소스 유형이 대상 유형에 이진을 통합 할 수 있으므로 스포츠 토토 베트맨를 수행하는 데 기능이 필요하지 않음을 나타냅니다..

with inout

스포츠 토토 베트맨는 소스 데이터 유형의 출력 기능을 호출하여 수행 된 I/O 변환 스포츠 토토 베트맨임을 나타냅니다. 결과 문자열을 대상 데이터 유형의 입력 기능으로 전달합니다..

과제

는 과제 컨텍스트에서 스포츠 토토 베트맨가 암시 적으로 호출 될 수 있음을 나타냅니다.

암시 적

어떤 상황에서도 스포츠 토토 베트맨가 암시 적으로 호출 될 수 있음을 나타냅니다.

스포츠 토토 베트맨 구현 함수는 1 ~ 3 개의 인수를 가질 수 있습니다. 첫 번째 인수 유형은 스포츠 토토 베트맨의 소스 유형과 동일하거나 이진을 통합 할 수 있어야합니다.Integer; 대상 유형과 관련된 유형 수정자를 수신하거나-1없는 경우. 세 번째 인수는 존재하는 경우 유형이어야합니다부울; 수신true스포츠 토토 베트맨가 명시적인 스포츠 토토 베트맨 인 경우거짓그렇지 않으면. (기괴하게, SQL 표준은 경우에 따라 명시적이고 암시적인 스포츠 토토 베트맨에 대해 다른 동작을 요구합니다.이 주장은 그러한 스포츠 토토 베트맨를 구현 해야하는 기능에 제공되어 있습니다.이 문제가 중요하도록 고유 한 데이터 유형을 설계하는 것이 좋습니다.).

스포츠 토토 베트맨 함수의 리턴 유형은 스포츠 토토 베트맨의 대상 유형과 동일하거나 이진을 통합 할 수 있어야합니다.

일반적으로 스포츠 토토 베트맨는 다른 소스와 대상 데이터 유형이 있어야합니다. 그러나 하나 이상의 인수가있는 스포츠 토토 베트맨 구현 기능이있는 경우 동일한 소스 및 대상 유형이있는 스포츠 토토 베트맨를 선언 할 수 있습니다.

스포츠 토토 베트맨가 다른 소스와 대상 유형과 하나 이상의 인수를 취하는 함수를 갖는 경우, 한 유형에서 다른 유형에서 다른 유형으로 변환하고 단일 단계에서 길이 강요를 적용하는 것을 지원합니다. 그러한 항목이 없으면 유형 수정자를 사용하는 유형에 대한 강요는 두 개의 스포츠 토토 베트맨 단계가 포함됩니다. 하나는 데이터 유형 사이에서 1 초를 변환하고 1 초는 수정자를 적용합니다.

도메인 유형에 대한 스포츠 토토 베트맨는 현재 영향을 미치지 않습니다. 도메인으로 또는 주조는 기본 유형과 관련된 스포츠 토토 베트맨를 사용합니다.

노트

use스포츠 토토 : 문서 :사용자 정의 스포츠 토토 베트맨를 제거하려면

유형을 모두 변환하려면 두 가지 방법을 모두 선언 해야하는 경우 두 가지 방법을 명시 적으로 선언해야합니다.

일반적으로 사용자 정의 유형과 표준 문자열 유형 사이에 스포츠 토토 베트맨를 생성 할 필요는 없습니다 (텍스트,Varcharchar (n), 문자열 범주에 정의 된 사용자 정의 유형).PostgreSQL이를 위해 자동 I/O 변환 스포츠 토토 베트맨를 제공합니다. 자동 스포츠 토토 베트맨 대 문자열 유형은 할당 스포츠 토토 베트맨로 취급되는 반면 문자열 유형의 자동 스포츠 토토 베트맨는 명시 적 전용입니다.

필수는 아니지만 대상 데이터 유형 이후 스포츠 토토 베트맨 구현 기능을 명명하는이 기존 협약을 계속 따르는 것이 좋습니다. 많은 사용자가 기능 스타일 표기법을 사용하여 데이터 유형을 스포츠 토토 베트맨 할 수 있습니다. 즉typename(x). 이 표기법은 사실 스포츠 토토 베트맨 구현 함수의 호출보다 훨씬 적거나 그 이상입니다.PostgreSQL다른 인수 유형으로 동일한 함수 이름을 과부하 할 수 있으므로 대상 유형의 이름을 사용하는 다른 유형의 여러 변환 기능을 갖는 데 어려움이 없습니다..

Note

실제로 앞의 단락은 지나치게 단순화 된 것입니다. 함수 콜 구성이 실제 함수와 일치하지 않고 스포츠 토토 베트맨 요청으로 처리되는 두 가지 사례가 있습니다. 함수 호출 인 경우이름(x)는 기존 기능과 정확히 일치하지 않지만이름| 데이터 유형의 이름이며PG_CAST|이 유형의 유형에서 이진적 통합 스포츠 토토 베트맨를 제공x, 호출은 이진적 통합 스포츠 토토 베트맨로 해석됩니다. 이 예외는 기능이 부족하더라도 기능적 구문을 사용하여 이진 통합 스포츠 토토 베트맨를 호출 할 수 있도록 이루어집니다.PG_CAST입장이지만 스포츠 토토 베트맨는 문자열 유형에 있거나 이루어지면 호출은 I/O 변환 스포츠 토토 베트맨로 해석됩니다. 이 예외는 기능 구문을 사용하여 I/O 변환 스포츠 토토 베트맨를 호출 할 수 있습니다.

Note

예외에 대한 예외도 있습니다. 복합 유형에서 문자열 유형으로의 I/O 변환 스포츠 토토 베트맨는 기능 구문을 사용하여 호출 할 수 없지만 명시 적 스포츠 토토 베트맨 구문으로 작성해야합니다 (스포츠 토토 베트맨또는::표기법). 이 예외는 자동으로 제공되는 I/O 변환 스포츠 토토 베트맨를 도입 한 후 함수 또는 열 참조가 의도 된 경우 실수로 그러한 스포츠 토토 베트맨를 호출하기가 너무 쉬워 졌기 때문에 추가되었습니다..

Type에서 할당 스포츠 토토 베트맨를 작성하려면bigintto Typeint4함수 사용int4 (bigint):

함수 int4 (bigint)가 할당 된 상태로 CAST (bigint as int4) 만들기;

(이 스포츠 토토 베트맨는 이미 시스템에서 사전 정의되어 있습니다.)

호환성

the스포츠 토토 베트맨 만들기명령은에 부합합니다.SQL표준, SQL이 이진 통합 유형 또는 구현 함수에 대한 추가 인수에 대한 조항을 제외하고는 표준입니다.암시 적isPostgreSQL확장도.