作者:Morpheus尘世美t | 来源:互联网 | 2023-09-16 21:39
sql server中用字符串拼接生成一个新的字段(varchar类型),但是长度超过了8000,想请教一下如何解决?
8 个解决方案
用多个变量来拼接成一个,但是你要考虑是否真有必要存超过8000的字符
sql server中用字符串拼接生成一个新的字段(varchar类型),但是长度超过了8000
你把这个,新的字段的类型改为 varchar(max) 就可以了,这个最长可以到2G个字节。
谢谢大家回复!varchar(max)这个好像只能在sql server 2005以后的版本中使用,而目前使用的是2000版本的。
2000的确没有max,而且2G是容量,不是长度...
大家知道,在SQL Server 2000中,VARCHAR的最大长度是8000,如果字符串的长度超过8000,保存在VARCHAR中时就会被截断。如果你需要传入的参数恰好很长,比如是一个xml,很多时候都会超过8000个字符。那怎么办呢?
DECLARE @largeText TEXT 是不行的,那我们怎么办呢?
在SQL Server 2000中,这的确是个很棘手的问题。不过幸运的是SQL Server 2005为我们提供了VARCHAR(MAX),它的最大长度可以达到2G,足够用了:)。而且,我们原先熟悉的字符串处理函数REPLACE,LTRIM等等也可以用了,多完美啊,呵呵
VARCHAR(MAX), NVARCHAR(MAX)和VARBINARY(MAX)是SQL Server 2005中引进的,可以作为TEXT, NTEXT和IMAGE的替代。