이 부록에 설명하의 의견이CHAR
VARCHAR2
업부 아이디=”
last_name1 VARCHAR2(10) := 'STAUB';last_name2 CHAR(10) := 'STAUB'; -- PL/SQL blank-pads value
다음과 같은IF
last_name2
을 포함하는 후행 공백
IF last_name1 = last_name2 THEN ...
모든 문자열 형식CHAR
. 따라서 비교의 두 값이 모두 리터럴 인 경우 빈 패딩 의미가 사용됩니다. 하나의 값이 리터럴 인 경우 빈 패딩 의미는 다른 값에 데이터 유형이 있는 경우에만 사용됩니다.공백으로 채워져 있는지 여부는 변수 유형이 아닌 열 유형에 따라 달라집니다.데이터베이스 열에 문자 값을 삽입하면 오라클은 후행 공백을 제거하지 않습니다. 값이 열의 정의된 너비보다 짧으면 값을 정의된 너비로 비워 둡니다. 결과적으로 후행 공백에 대한 정보가 손실됩니다. 문자 값이 열의 정의된 너비보다 긴 경우 오라클은 삽입을 중단하고 오류를 생성합니다.데이터베이스 열에 문자 값을 삽입 할 때 오라클은 후행 공백을 제거하지 않습니다. 값이 열의 정의된 너비보다 짧으면 값을 빈 칸으로 채우지 않습니다. 문자 값은 그대로 저장되므로 정보가 손실되지 않습니다. 문자 값이 열의 정의된 너비보다 긴 경우 오라클은 삽입을 중단하고 오류를 생성합니다.참고:업데이트할 때도 동일한 규칙이 적용됩니다.