views:

866

answers:

4

What is the meaning of varchar(-1) in SQL Server 2008? Is it an alternative for varchar(max)?

+1  A: 

The documentation says:

varchar [ ( n | max ) ] Variable-length, non-Unicode character data. n can be a value from 1 through 8,000. max indicates that the maximum storage size is 2^31-1 bytes.

So -1 isn't technically valid. It might work, but I wouldn't use it if I were you.

jeffamaphone
A: 

i think it is varchar(max). I never seen it before.

Andrew Keith
+3  A: 

It's how to represent varchar(max) in .net SQLDBType (not explicitly stated, but length is -1)

I can't try it in SQL language in SQL Server right now for interest's sake: but I'm sure it's only for client code because varchar is normally strongly defined between 1 and 8000, but for max type it's not.

gbn
yaa...i also thnk the length of varchar(max) is -1 . when i gave sp_help to table having varchar(max) as one of the datatype , the length is displaying as -1.
Sreejith S T
+1  A: 

It is only SQL Query Analyser which displays -1 instead of Max. In design view, still you can see it as Max.

Srini