가변길이 문자 스트링은 VARCHAR(n)로 나타낸다. 여기서 n은 ASCII 문자 스트링의 최대 개수를 나타내는 것으로, 한 문자는 1바이트를 차지한다. 만약, n이 생략되면 길이는 최대 길이인 1,073,741,823로 지정된다. 만약 문자 스트링의 크기가 n을 넘어설 때, 넘어서는 부분이 공백문자인 경우에는 이를 절삭하고 넘어서는 부분이 공백문자가 아닌 경우에는 오류로 처리된다. n보다 작은 문자 스트링이 저장될 때에는 나머지 부분이 공백문자로 채워지지 않는다. 즉, 꼭 필요한 만큼만 저장된다.
VARCHAR(n)와 CHARACTER VARYING(n), CHAR VARYING(n)은 같은 의미로 사용된다.
VARCHAR(12)에 'pacesetter'를 저장하면 'pacesetter'가 된다(10자리 문자 스트링로 구성됨).
VARCHAR(12)에 'pacesetter '를 저장하면 'pacesetter '가 된다(10자리 문자 스트링과 공백문자 2개로 구성됨).
VARCHAR(10)에 'pacesetter '를 저장하면 'pacesetter'가 된다(10을 넘어서는 부분이 공백문자이므로 이를 절삭하고 10자리 문자 스트링로 구성됨).
VARCHAR(4)에 'pacesetter'를 저장하면 오류가 발생한다(문자 스트링의 크기가 4보다 크기 때문에 오류 발생).
VARCHAR에 'p '를 저장하면 'p'가 된다(n이 생략되면 최대길이는 디폴트 값인 1,073,741,823로 지정되고, 저장시 나머지 부분은 공백문자로 채워지지 않음).