쿼리 대상 유형 해상도
대상과 정확히 일치하는지 확인하세요.
그렇지 않으면 표현식을 대상으로 강제 변환해 보십시오. 유형. 두 가지 유형이 알려지면 성공합니다. 바이너리 호환 또는 변환 기능이 있는 경우. 만약에 표현식은 알 수 없는 유형의 리터럴입니다. 리터럴 문자열이 입력 변환에 제공됩니다. 대상 유형에 대한 루틴입니다.
대상이 고정 길이 유형인 경우(예:문자또는varchar선언됨 길이 포함) 그런 다음 크기 조정 기능을 찾으십시오. 대상 유형. 크기 조정 기능은 동일한 기능입니다. 이름을 유형으로 사용하고 두 인수 중 첫 번째 인수를 취합니다. 해당 유형이고 두 번째는 정수이며 반환됩니다. 같은 유형. 하나가 발견되면 적용되며 다음을 전달합니다. 열의 선언된 길이를 두 번째 매개변수로 사용합니다.
다음으로 선언된 대상 열의 경우varchar(4)다음 쿼리는 대상의 크기가 올바르게 지정되었습니다.
tgl= CREATE TABLE vv (v varchar(4)); 만들기 tgl= vv에 삽입 SELECT 'abc' || '데프'; 삽입 392905 1 tgl= SELECT * FROM vv; v ------ ABCD (1행)여기서 실제로 일어난 일은 알 수 없는 두 리터럴이 기본적으로 텍스트로 해석되어 다음을 허용합니다. ||연산자는 텍스트 연결로 확인됩니다. 그런 다음 연산자의 텍스트 결과는 varchar로 강제 변환됩니다. 대상 열 유형과 일치합니다. (그러나 파서는 알고 있기 때문에 text와 varchar는 바이너리와 호환되므로 이 강제는 다음과 같습니다. 암시적이며 실제 함수 호출을 삽입하지 않습니다.) 마지막으로 크기 조정 기능varchar(varchar,int4)시스템에서 발견되었습니다 카탈로그를 작성하여 운영자의 결과에 적용하고 저장된 열 길이. 이 유형별 기능은 다음을 수행합니다. 원하는 잘림.