sql server哪个字段类型可以保存最长文字

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql server哪个字段类型可以保存最长文字相关的知识,希望对你有一定的参考价值。

如题!我试过用varchar8000、text16都是同样的错误
Microsoft OLE DB Provider for ODBC Drivers (0x80040E57)
[Microsoft][ODBC SQL Server Driver][SQL Server]将截断字符串或二进制数据。
text的长度只有16,又修改不了,都不知道怎么办。求各位牛人帮帮忙!

从数据类型的角度上来讲有二种方式,如text(ntext) 及 varchar(nvarchar)可以保存最长文字。

ntext和text一样用来保存大量的文字数据,不过text用单字节保存数据 ,ntext固定用双字节保存数据. ntext保存的是Uncode的字符 , ntext支持跨语言平台。
ntext:可变长度 Unicode 数据的最大长度为 230 - 1 (1,073,741,823) 个字符。存储大小是所输入字符个数的两倍(以字节为单位)
text:
服务器代码页中的可变长度非 Unicode 数据的最大长度为 231-1 (2,147,483,647) 个字符。当服务器代码页使用双字节字符时,存储量仍是 2,147,483,647 字节。存储大小可能小于 2,147,483,647 字节(取决于字符串)。

ntext:
默认情况下,ntext将文本数据存储在LOB结构中, 在表结构中只存储指针,指针指向该数据在LOB中的存储位置。
NVARCHAR(MAX)
默认情况下,不超过8,000字节的数据直接存储在表结构中,超过的才和ntext一样将数据存储在LOB结构中。
注:NTEXT将在以后版本的SQL SERVER中不被支持,微软的文档中建议用NVARCHAR(MAX)取代NTEXT。
参考技术A 定义变量是 varchar(8000) 变量长度要放在括号里面
SQL2000的字符串数据类型:
char:1-8000字节
nchar:1-4000字节
varchar:1-8000字节
nvarchar:1-4000字节
SQL2000文本和图形数据:
text :1-2,147,483,647
ntext :1-1,073,741,823
image :1-2,147,483,647只存储图片,大约2G字节
有人在text数据类型中存储过2万多汉字文件

参考资料:SQL Server Books Online

本回答被提问者采纳
参考技术B SQL2005以上版本支持
nvarchar(max)/nchar(max)/varchar(max)/char(max)--2G大小

或xml
参考技术C clob字段应该可以吧?
但text字段已经够存很多内容了。是不是你的文本中有些数据库不支持的符号?
参考技术D 你这个是因为你存的东西的长度大于你数据库的定义的长度.
你去找找别的字段的问题吧.
text的长度...16是指16位...不可能是这个问题的

sql server 2000 ntext 字段对应oracle那个字段?

sql server 2000 ntext 字段对应oracle那个字段?

在sql中:
ntext:变长Unicode的字符型数据,最大长度为2^31-1(2G);
NTEXT数据类型与TEXT 类型相似不同的是NTEXT 类型采用UNICODE 标准字符集Character Set 因此其理论容量为230-1 1 073 741 ;
在oracle中:
LONG:可变长的字符串数据,最长2G,LONG具备VARCHAR2列的特性,能够存储长文本一个表中最多一个LONG列
二进制类:
所以ntext对应long,而不是一楼说的lang,有lang这个数据;类型?????
参考技术A lang

以上是关于sql server哪个字段类型可以保存最长文字的主要内容,如果未能解决你的问题,请参考以下文章

spark sql根据某个数字字段进行排序失效问题

SQL中哪个字段类别记录日期和哪个字段类别记录时间

sql server2008 怎么改变字段类型

我可以在SQL Server数据库中保存“对象”吗?

sql server 小数字段设为哪种类型?

sql server 2000 ntext 字段对应oracle那个字段?