En el servidor SQL 2005 esta consulta¿Por qué 30 es la longitud predeterminada para VARCHAR cuando se utiliza CAST?
select len(cast('the quick brown fox jumped over the lazy dog' as varchar))
devuelve 30 como longitud, mientras que la cadena suministrada tiene más caracteres. Este parece ser el predeterminado. ¿Por qué 30, y no 32 o cualquier otra potencia de 2?
[EDITAR] Soy consciente de que siempre debo especificar la longitud al realizar la conversión a varchar, pero esta fue una consulta rápida para dejar algo. Las preguntas permanecen, ¿por qué 30?
Holy crap - No sabía que CAST truncaría así. Siempre asumí que el varchar de vuelta se dimensionaría para que encajara con lo que CAST estaba rellenando. Tengo un código para verificar en ... bbl –
¿Preferirías que fuera 255, como Informix, Sybase y otros valores predeterminados de DB? (ver mi respuesta a continuación) –