Pourquoi ne spécifiez-vous pas la longueur varchar ? c'est-à-dire :
SELECT CAST('the quick brown fox jumped over the lazy dog' AS VARCHAR(45))
En ce qui concerne pourquoi 30, c'est la longueur par défaut dans SQL Server pour ce type.
À partir de car et varchar (Transact-SQL) :