В SQL Server 2005 Этот запросПочему 30-кратная длина для VARCHAR при использовании CAST?
select len(cast('the quick brown fox jumped over the lazy dog' as varchar))
возвращает 30 в длину, а в комплект поставки строка имеет больше символов. По-видимому, это значение по умолчанию. Почему 30, а не 32 или любая другая сила 2?
[EDIT] Я знаю, что всегда должен указывать длину при кастинге в varchar, но это был быстрый запрос check-check-something. Вопросы остаются, почему 30?
Святое дерьмо - я не знал, что CAST усекается вот так. Я всегда предполагал, что возвращаемый varchar будет иметь размер, соответствующий тому, что CAST в него вставлял. У меня есть код для проверки ... bbl – 2008-12-11 13:54:06
Вы бы предпочли, чтобы он был 255, как Informix, Sybase и другие DB по умолчанию? (см. мой ответ ниже) – 2012-07-22 12:04:25