例如:text   vachar的允许长度。不要msdn粘贴的。

解决方案 »

  1.   

    但是msdn的已经是很全的了。varchar在2000和2005+有不同的限制。2005以后的版本可以多很多。
      

  2.   

    数值类型 
    数据类型
     
    描述
     
    存储大小
     Bit
     
    值为1,0,null的整数数据,不包含索引
     
    1字节
     tinyInt
     
    0-255整数数据
     
    1字节
     smallInt
     
    -2的15次方到2的15次方的整数数据
     
    4字节
     int
     
    -2的31次方到2的31次方的整数数据
     
    4字节
     bigint
     
    8字节的整数数据
     
    8字节
     Binary[n]
     
    N字节的固定长度的二进制数据,n是介于1-8000之间的一个值。当一列的数据输入差别很小时,请使用binary
     
    N+2字节
     Varbinary[n]
     
    N字节的可变长度的二进制数据,n是介于1-8000之间的一个值。当一列的数据输入差别很大时,请使用Varbinary
     
    N+2,可以为0
     Varbinary(max)
     
    2005新类型,最大2g,变长
     
    N+2,可以为0
     Decimal[p,[s]]
     
    固定精度和刻度的数字。精度(p)指被保存数字的总位数,刻度(s)指定数字的小数点后面的位数。
     
    5-17字节
     Numeric[p,[s]]
     
    Decimal的同义词
     
     
     Real
     
    4字节的浮点精度数字数据
     
    4字节
     Float[(n)]
     
    -1.79e+308至-2.23e-308.0以及2.23e-308至1.79e+308
     
    取决于n的值
     Money
     
    货币数据。8字节,精确到货币单位的万分之一。
     
    8字节
     Smallmoney
     
    货币数据。介于-213748.3648到213748.3647
     
    4字节
      
     
     
     
     
     
     字符类型 
    数据类型
     
    描述
     
    存储大小
     Char[(n)]
     
    固定长度,非unicode字符数据,长度为n个字节。N的取值范围为1-8000
     
    n字节
     Varchar[(n)]
     
    可变长度,非unicode字符数据。1-8000
     
    n字节
     Varchar[(max)]
     
    可变长度,非Unicode字符数据。Max,指最大存储大小为2的31次方-1个字节。
     
    输入的实际字节数。
     Nchar[(n)]
     
    N个字符固定长度unicode编码。N值必须指定在1-4000之间
     
    2乘n字节+2字节
     Nvarchar[(n)]
     
    可变长度unicode字符数据。N值在1-4000之间
     
    2乘n字节+2字节
     Nvarchar[(max)]]
     
    可变长度unicode字符数据。max值在2的31次方-1个字节 
     
    2乘n字节+2字节
     Float[(n)]
     
    -1.79e+308至-2.23e-308.0以及2.23e-308至1.79e+308
     
    取决于n的值
     Money
     
    货币数据。8字节,精确到货币单位的万分之一。
     
    8字节
     Smallmoney
     
    货币数据。介于-213748.3648到213748.3647
     
    4字节
      
     
     
     
     
     
    文本和图像类型 
    数据类型
     
    描述
     
    存储大小
     text
     
    服务器代码页中长度可变的非Unicode数据,最大长度为2的31次方-1个字符。双字符和单字符都占1。
     
    2的31次方-1
     ntext
     
    可变长度, unicode字符数据。2的30次方-1
     
    2的30次方-1
     image
     
    Unicode, 2的31次方-1
     
    2的31次方-1
     Nchar[(n)]
     
    N个字符固定长度unicode编码。N值必须指定在1-4000之间
     
    2乘n字节+2字节
      
     
     
     
     
     
     日期和时间类型 
    数据类型
     
    描述
     
    存储大小
     smalldatetime
     
    1900-1-1到2079-6-6,精度为分钟
     
    两个2字节的整数
     dateteime
     
    1753-1-1到9999-12-31,精度为1/300秒
     
    两个4字节
     timestamp
     
    公开数据库中自动生成的一个唯一一个二进制的数据类型。通常用作给表行加班本戳的机制。一个表只能由一个该类型字段。
     
    8字节
      
     
     
     
     
     
     其他特出数据类型 
    数据类型
     
    描述
     
    存储大小
     sysname
     
    由特殊系统提供的,sqlserver用户定义的数据类型,sqlserver将sysname类型定义为nvarchar(128),可以存储128个unicode字符。
     
    256字节
     xml
     
    2005新增类型,存储xml文件
     
    Xml格式<2gb
     Uniqueidentifie
     
    全局唯一标识符(guid)。可以通过newid()函数产生。
     
    16字节
     Sql_variable
     
    用于存储sqlserver2005支持的各种数据类型。除text,ntext,image,timestamp,sql_variant
     
    最大长度可以使8016字节
     Table
     
    类似于使用临时表,此类型包括列表和数据类型,可以用于定义本地变量或用于用户定义的函数的返回值。
     
    随着表定义的变化而变化。
     
      

  3.   

    参照这个
    http://topic.csdn.net/u/20100602/16/93b212ab-00be-4a8c-aeff-712db5a9e7c9.html
      

  4.   

    既然是粘贴,那我问点具体的吧。
    text和varchar哪个存的字数多?
    为什么插入的数据没超限,在数据库里显示不出来
      

  5.   

    在SQL2005中text和varchar的最大存储都是2GB,varchar(max)
    在SQL2000中varchar最大是8000字节,text是2GB.
    显示不出来,楼主还想看到结果的话,可以PRINT一下
      

  6.   

    1  2000 text,2005如果是varchar(max)一样
    2  估计你是企业管理器里吧,用select
      

  7.   

    int、bigint、smallint 和 tinyint
    使用整数数据的精确数字数据类型。bigint从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。存储大小为 8 个字节。int从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字)。存储大小为 4 个字节。int 的 SQL-92 同义字为 integer。smallint从 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整型数据。存储大小为 2 个字节。tinyint从 0 到 255 的整型数据。存储大小为 1 字节。注释
    在支持整数值的地方支持 bigint 数据类型。但是,bigint 用于某些特殊的情况,当整数值超过 int 数据类型支持的范围时,就可以采用 bigint。在 SQL Server 中,int 数据类型是主要的整数数据类型。在数据类型优先次序表中,bigint 位于 smallmoney 和 int 之间。 只有当参数表达式是 bigint 数据类型时,函数才返回 bigint。SQL Server 不会自动将其它整数数据类型(tinyint、smallint 和 int)提升为 bigint。 
    char 和 varchar
    固定长度 (char) 或可变长度 (varchar) 字符数据类型。char[(n)]长度为 n 个字节的固定长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为 n 个字节。char 在 SQL-92 中的同义词为 character。varchar[(n)]长度为 n 个字节的可变长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为输入数据的字节的实际长度,而不是 n 个字节。所输入的数据字符长度可以为零。varchar 在 SQL-92 中的同义词为 char varying 或 character varying。注释
    如果没有在数据定义或变量声明语句中指定 n,则默认长度为 1。如果没有使用 CAST 函数指定 n,则默认长度为 30。将为使用 char 或 varchar 的对象被指派数据库的默认排序规则,除非用 COLLATE 子句另外指派了特定的排序规则。该排序规则控制用于存储字符数据的代码页。支持多语言的站点应考虑使用 Unicode nchar 或 nvarchar 数据类型以尽量减少字符转换问题。如果使用 char 或 varchar: 如果希望列中的数据值大小接近一致,请使用 char。
    如果希望列中的数据值大小显著不同,请使用 varchar。 
    如果执行 CREATE TABLE 或 ALTER TABLE 时 SET ANSI_PADDING 为 OFF,则一个定义为 NULL 的 char 列将被作为 varchar 处理。 当排序规则代码页使用双字节字符时,存储大小仍然为 n 个字节。根据字符串的不同,n 个字节的存储大小可能小于 n 个字符。nchar 和 nvarchar
    nchar 是固定长度 Unicode 数据的数据类型,nvarchar 是可变长度 Unicode 数据的数据类型,二者均使用 UNICODE UCS-2 字符集。nchar(n)包含 n 个字符的固定长度 Unicode 字符数据。n 的值必须介于 1 与 4,000 之间。存储大小为 n 字节的两倍。nchar 在 SQL-92 中的同义词为 national char 和 national character。nvarchar(n)包含 n 个字符的可变长度 Unicode 字符数据。n 的值必须介于 1 与 4,000 之间。字节的存储大小是所输入字符个数的两倍。所输入的数据字符长度可以为零。nvarchar 在 SQL-92 中的同义词为 national char varying 和 national character varying。注释
    如果没有在数据定义或变量声明语句中指定 n,则默认长度为 1。如果没有使用 CAST 函数指定 n,则默认长度为 30。如果希望列中所有数据项的大小接近一致,则使用 nchar。如果希望列中数据项的大小差异很大,则使用 nvarchar。使用 nchar 或 nvarchar 的对象被赋予数据库的默认排序规则,除非使用 COLLATE 子句赋予特定的排序规则。SET ANSI_PADDING OFF 不适用于 nchar 或 nvarchar。SET ANSI_PADDING ON 永远适用于 nchar 和 nvarchar。ntext、text 和 image
    用于存储大型非 Unicode 字符、Unicode 字符及二进制数据的固定长度和可变长度数据类型。Unicode 数据使用 UNICODE UCS-2 字符集。ntext可变长度 Unicode 数据的最大长度为 230 - 1 (1,073,741,823) 个字符。存储大小是所输入字符个数的两倍(以字节为单位)。ntext 在 SQL-92 中的同义词是 national text。text服务器代码页中的可变长度非 Unicode 数据的最大长度为 231-1 (2,147,483,647) 个字符。当服务器代码页使用双字节字符时,存储量仍是 2,147,483,647 字节。存储大小可能小于 2,147,483,647 字节(取决于字符串)。image可变长度二进制数据介于 0 与 231-1 (2,147,483,647) 字节之间。 
      

  8.   

    存不完,只能存2百多个汉字,剩下的就没存进来。我现在用的是varchar(8000)类型
      

  9.   

    http://topic.csdn.net/u/20101230/22/d5b95c6d-673e-464b-8e91-05a34e018322.html?757252楼.
      

  10.   

    换text类型,也一样,是只能存到前2百多个汉字。
      

  11.   


    第三部分:SQL数据类型与三值逻辑
    http://topic.csdn.net/u/20100826/18/7b81012a-b5c4-48b1-b5d1-40a92f3e0388.html?93604
      

  12.   


    在SQLServer 2000,varchar最多可以存8000个字符;
    在SQLServer 2005+,varchar(max)可以存2G的字符。官方建议用varchar(max)和nvarchar(max)代替text和ntext。
      

  13.   

    在查询分析器里用select查,只能看到前200多个字,在企业管理器里更是完全看不到。
      

  14.   

    问题的背景请看http://topic.csdn.net/u/20101227/14/5d8ee6bf-9759-44b4-a41f-153e3705a9e5.html   的46楼
      

  15.   

    SELECT LEN(content) FROM table
    看看实际长度是多少。
    或者PRINT出来。查询分析器的SELECT显示是不完整的。
      

  16.   

    存不进去不是字段类型的问题。一个可能是程序内哪里把字符串截断了,这个可以用断点跟踪确定;另一个可能是你看到的并不是全部,对于大字段一般不是直接读出来,而是用LEN或DATALENGTH判断长度。SQLSERVER的客户端在输出长字符串的时候默认只输出一小部分。