SQL Server VARCHAR Data Type is used to store non-unicode string data of variable length.
- VARCHAR data type is used to store non-Unicode string data of variable length.
- Stores data at 1 byte per character.
- Supports up to 8000 characters.
Syntax varchar(n) or varchar(max)
n specify the string length that ranges from 1 to 8000. Default value for n is 1.
max specify the maximum storage size which is 231-1 bytes (2 GB).
Data Storage Vs Length
In following T-SQL, declared a variable @str of datatype varchar of size 30.
As varchar takes1bytes per character to store the data, so it takes 9 bytes to store @str value ‘microsoft’ that is length of @strt* 1 bytes (9 *1) =9.
It is variable-length so, it takes actual length size of string that is 9 for ‘‘microsoft’.
DECLARE @Str VARCHAR(30) SET @Str = 'Microsoft' SELECT @Str AS Strtext, DATALENGTH(@Str) AS StrText_OccupiedLength , LEN(@Str) AS StrText_length
Varchar can not store unicode data
Varchar can not store unicode data, Lets try to store Hindi language text to @str variable of type varchar.
DECLARE @Str VARCHAR(30) SET @Str = N'เคฎเคพเคเคเฅเคฐเฅเคธเฅเคซเฅเค' SELECT @Str AS Strtext, DATALENGTH(@Str) AS StrText_OccupiedLength , LEN(@Str) AS StrText_length
As you can see, it does not support unicode characters or multilingual data.
Also Read..
How to get the detailed information of all datatypes in SQL Server ?
1,801 total views, 2 views today