sql server 2008 为什么 不能使用 varchar(max)

同一个存储过程,在2005中可以编译通过,在2008中总是报错,如果把varchar(max)改为varchar(8000)则可以,不知道为什么。难道2008不支持吗,或是改用其他数据类型代替了呢?急...... 烦请高人指点一下

你好,我个人觉得你使用varchar(max)为什么不直接用text呢?
微软建议:使用 varchar(max) 来代替 text,使用 nvarchar(max) 来代替 ntext,使用 varbinary(max) 来代替 image
这个建议是针对2005以前的版本,如果说微软在2008中取消了varchar(max) 那么 肯定他直接默认了varchar(max)==text,OK 我说完了
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-06
毫无疑问,2008支持varchar(max),而且是从2005推荐使用替代text

你的问题怎么看都像是2000上才会出现的问题,建议你检查你这个数据库是否是sql server 2000(80)兼容级别的本回答被提问者采纳
第2个回答  2010-07-21
非常感谢你的答复。text也初步尝试过,发现使用text会有两个问题:
1、与以前的风格不一致,需要改动大量已有数据,且增加维护工作量
2、text不能使用一些函数操作,一些字符串解析不了

现在最想知道varcahr(max)在2008中是否存在,如果存在那么是否与2005中功能一样用法一样,如果不存在那么还有什么数据类型能完全替代之,text、ntext似乎不满足。期待高人们能给更多建议,先行谢谢诸位!
第3个回答  2010-07-28
非常感谢,应该是2000,弄错了,非常惭愧,感谢诸位。

sql server 2008 为什么 不能使用 varchar(max)
你好,我个人觉得你使用varchar(max)为什么不直接用text呢?微软建议:使用 varchar(max) 来代替 text,使用 nvarchar(max) 来代替 ntext,使用 varbinary(max) 来代替 image 这个建议是针对2005以前的版本,如果说微软在2008中取消了varchar(max) 那么 肯定他直接默认了varchar(max)==text,OK 我说完...

varchar(max) 数据类型无效 sql server 2008 数据库
SQL2008是支持varchar(max)和nvarchar(max),检查数据库是否是sql server 2000(80)兼容级别的

SQL SERVER中存储文件用什么字段?
看你的文件是什么类型的,如果是普通的txt文本或者 html文件,可以用varchar(max)将内容存起来 如果是特殊格式的文件,你有转换方法的话可以存varbinary(max)存 可以存文件路径,程序中读取

sql server2008 怎么改变字段类型
是你设置的字段类型和你原来在这列填充的内容类型不匹配 把你想要改变的那一列的内容都删了,再修改字段类型,并勾选“允许为空”,然后保存。我用的2005,不过应该是一样的。如有问题相互讨论,相互学习。

SQL中的substring和len
提示:SQL server2008 之后将不再支持:ntext,text,image类型。建议使用:nvarchar(max),varchar(max),varbinary(max)。max指示最大可支持2^31-1字节。注意:nvarchar(max)中的“max”是关键字。

在操作SQL Server的时候,字段类型是不是能用vchar的时候,就不用nchar...
varchar是变长 根据插入的数据确定 但不能超过定义的长度 就是n这个长度 存储的都是字节数 比如n是1的话 那么一个汉字就存储不了 会报错 只能存一个数字或字母 nvarchar最多支持8000字节(4000个Unicode字符),而ntext数据类型最多可支持2GB,但它有一些限制,具体限制可以参考SQL Server 2000的联机...

sqlserver2008数据库中,我想设置varchar字段的长度为20000,要怎么做_百...
楼主 你都知道了最长是8000 肯定不能这样改了 如果要使用这样的长度 就用下面的类型 nvarchar(max)varchar(max)varbinary(max)脚本如下 把表名和列名换下就可以了 alter table 表名 alter column 列名 nvarchar(max) not null 如果解决了楼主的问题 希望采纳 ...

sqlserver中 varchar 最大长度是多少?
最大长度8000,用max可以存储达到2G。例如:varchar [ ( n | max) ]可变长度,非 Unicode 字符数据。n 的取值范围为 1 至 8,000。max 指示最大存储大小是 2^31-1 个字节。在某些情况下,前台应用对过长的字串是无法正确处理的,比如一些表格控制,比如C++定义的字符串变量。

SQL SERVER数据库什么数据类型能存储大容量的文字?
SQL SERVER 数据库中存储大容量文字数据,通常选用的类型有 ntext、text、nvarchar(max)、varchar(max) 和 xml。在2000版本之前,ntext 数据类型用于存储 Unicode 字符,其最大长度可达1G字符,最大存储空间为2GB。text 数据类型则用于非 Unicode 字符,最大长度为2G字符,最大存储空间同样为2GB。随着技...

SQL server中的nvarchar最大的长度是4000个字吗
1、在SQL2000版本中,最大长度是4000。2、在SQL2005及以上版本中,最大长度是2G,本人实测,SQL2008中,将测试数据库中一个字段定义为nvarchar(max),然后使用以下SQL语句。UPDATE A13 SET [科室] = [科室]+[科室] --科室字段定义为nvarchar(max) SELECT LEN([科室]) FROM A13 --运行结...

相似回答