I have a field that stores lots of data (up to 8,000 characters). I thought that I could maybe save disk space if I stored this data as varbinary versus varchar. Is this correct?
If so, I would have to use CAST or CONVERT every time I wanted to display the data or update it. Is this correct?
Which do you think would be an overall better solution: storing this data as varchar, taking up more space, and not having to convert it; or storing it as varbinary, taking up less space, but having to convert it each time it is read or written?
If your data consists of characters, your datatype choices are char: varchar or text (or nchar, nvarchar, ntext for international data). A column of varbinary datatype is expecting only binary data so that doesn’t really fit your data requirements.
The char and varchar datatypes can contain up to 8,000 characters of data. Char is of fixed length and stores the data value with padded spaces. Varchar stores only the data value in the database. If your data is going to be over 8,000 characters you must use the text datatype. In your case the varchar datatype should be sufficient and no conversion will be needed.