devxlogo

Choosing a Large-Text Data Type for SQL Server Table Columns

What would you do if you needed to store text data in a table column that exceeds 8000 characters? The common choices are the TEXT and NTEXT data types, but these data types are going to be deprecated in the near future.

The solution to this problem is a data type called VARCHAR(MAX), introduced with SQL Server 2005. You can use this data type whenever you want to store text data that varies considerably in length, or that exceeds 8000 characters. The following examples show how to use this data type.

To declare a column of this type in a table, use:

CREATE TABLE MyTable(column1 VARCHAR(MAX), column2 INT ... )

To declare a variable of this type in stored procedures or functions, use:

DECLARE @MyVariable VARCHAR(MAX)

This new data type works with the majority of the intrinsic string-manipulation functions, whereas the legacy BLOB types such as TEXT, NTEXT, and IMAGE do not. The new data type is stored in the database in the same exact way, but Microsoft has made some tweaks to the read algorithms for the new types, too.

Charlie has over a decade of experience in website administration and technology management. As the site admin, he oversees all technical aspects of running a high-traffic online platform, ensuring optimal performance, security, and user experience.

See also  Five Early Architecture Decisions That Quietly Get Expensive

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.