Aquí está la respuesta:http://sqlfiddle.com/#!6/d41d8/4737
declare @myVar1 varchar = 'Friday'
declare @myVar2 varchar(10) = 'Friday'
select len(@myVar1)as len1,
len(@myVar2)as len2
El resultado es:
LEN1 LEN2
1 6
Entonces, si no especifica un tamaño para el varchar
, SQL Server lo hará por usted. En este caso 1. Siempre debe especificar el tamaño de forma explícita.
Malos hábitos para kickear:declarar VARCHAR sin (longitud)