Почему 30 длина по умолчанию для VARCHAR когда БРОСОК использования?

47
задан Luke Girvin 19 April 2018 в 13:32
поделиться

2 ответа

Почему Вы не указываете varchar длину? т.е.:

SELECT CAST('the quick brown fox jumped over the lazy dog' AS VARCHAR(45))

До, почему 30, это - длина по умолчанию в SQL Server для того типа.

От символ и varchar (Transact-SQL) :

, Когда n не указан в определении данных или операторе объявления переменной, длина по умолчанию равняется 1. , Когда n не указан при использовании БРОСКА и ПРЕОБРАЗОВЫВАЕТ функции, длина по умолчанию равняется 30.

45
ответ дан Luke Girvin 26 November 2019 в 19:43
поделиться

Я не знаю, почему они выбрали 30, но это было то же в SQL Server Sybase, из которого был разработан SQL Server Microsoft. Это, кажется, особенность тех RDBMSs, поскольку это не находится в стандартах SQL, и другие серверы отличаются по своему поведению.

3
ответ дан xahtep 26 November 2019 в 19:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: