Oto odpowiedź:http://sqlfiddle.com/#!6/d41d8/4737
declare @myVar1 varchar = 'Friday'
declare @myVar2 varchar(10) = 'Friday'
select len(@myVar1)as len1,
len(@myVar2)as len2
Wynik to:
LEN1 LEN2
1 6
Więc jeśli nie określisz rozmiaru dla varchar
, SQL Server zrobi to za Ciebie. W tym przypadku 1. Zawsze powinieneś wyraźnie określić rozmiar.
Złe nawyki do wyrzucenia:deklarowanie VARCHAR bez (długość)