I am trying to understand the varchar(max) data type. I cam across a really old article but it had the exact answers I was looking for. Specifically when do I go from using varchar with some number i.e. varchar(700) to varchar(max)

From This blog post:

  • The size range for VARCHAR is now 1 to 8,000 or MAX. Note there is nothing between 8,000 and MAX.
  • VARCHAR(MAX) is more than a replacement from TEXT. It works just as well with short strings as well as long ones. Therefore, if there is any possibility that you'll exceed 8,000 bytes then use VARCHAR(MAX).
  • The maximum size for a VARCHAR(MAX) is 2^31 - 1 bytes / characters.

    I hope, even though this article was from 2006 that this stuff is all still relevant.