DB2와 Oracle은 짧은 문자열을 오른쪽 공백으로 채워서 문자 비교를 구현합니다. 하지만 왜?SQL - 문자를 비교할 때 패드 공백이 필요한 이유는 무엇입니까?
데이터베이스 엔진이 더 짧은 문자를 공백으로 채우는 대신 더 큰 문자 값을 잘라낸 것이 좋지 않을까요? 즉 내 쿼리가 SELECT * from SOME_TABLE where CUSTOMER_NAME = 'Popeye '
경우는, 데이터베이스 엔진이이 값이 여기 즉 또한 'Popeye '
을 통과 손질 한 수있을 때 대신, SOME_TABLE
의 모든 행에 공간을 추가 끝, 이해하기 그냥 궁금해서 왜 오라클과 DB2는 추가 않습니다 오른쪽에 공백이 있습니까?
오른쪽에 공백을 추가하는 것이 RDBMS 엔진이 아닌 유형의 속성이라고 생각합니다. 'char (10)'열을 선언하면 더 짧은 문자열에 공백이 추가되어 10 자 길이가됩니다. 대신'varchar2 (10)'열을 선언하면 패딩이 발생하지 않습니다. – dasblinkenlight