Simple question - why when I print the value of the @len variable in the query below would I be getting the value 1, instead of 12 (the number of characters in the
Your declaration of @string is wrong. You have no length on the varchar.
Try this:
declare @string varchar(255); -- or whatever
You just learned that the default in this situation is 1.
This is clearly specified in the documentation. As a further note, MS SQL seems to make this rather complicated:
When n is not specified in a data definition or variable declaration statement, the default length is 1. When n is not specified when using the CAST and CONVERT functions, the default length is 30.
The right habit is to always include the length when using varchar or nvarchar.
Becvause varChar without a length specification is taken as varChar(1)
replace varchar with varChar(30) or varChar(max)
You need to give the variable @string an actual length. Print the variable @string and it will probably return 'C'.