요소를 다른 요소, 변수 또는 상수와 비교하려면 요소를 비교하는 값이 일치하는지(예: 문자 대 문자) 확인하십시오. 값이 일치하지 않는 경우, 이 불일치를 해결하기 위해 내재적 캐스트를 제공할 수 없으면 브로커가 런타임 오류를 생성합니다. 지원되는 내재적 캐스트에 대한 자세한 내용은 내재적 캐스트를 참조하십시오.
CAST 함수를 사용하여 다른 데이터 유형을 일치시키기 위해 데이터 유형의 값 중 하나를 변환할 수 있습니다. 예를 들면, 일반 XML 메시지를 처리할 때 CAST 함수를 사용할 수 있습니다. XML 메시지의 모든 필드는 문자 값을 가지므로, 예를 들어 산술 계산이나 datatime 비교를 수행하려는 경우에는 CAST를 사용하여 이 필드의 문자열 값을 적절한 유형의 값으로 변환해야 합니다.
송장(invoice) 메시지에서 InvoiceDate 필드에는 송장의 날짜가 들어 있습니다. 이 필드를 참조하거나 조작하려면 먼저 이 필드를 올바른 형식으로 CAST해야 합니다. 예를 들면, 테스트에서 이 필드를 참조하십시오.
IF CAST(Body.Invoice.InvoiceDate AS DATE) = CURRENT_DATE THEN
이 명령문은 InvoiceDate 필드의 문자열 값을 날짜 값으로 변환하여 현재 날짜와 비교합니다.
또다른 예로는 정수에서 문자로 캐스트하는 것입니다.
DECLARE I INTEGER 1; DECLARE C CHARACTER; -- The following statement generates an error SET C = I; -- The following statement is valid SET C = CAST(I AS CHARACTER);