保存空的MEMO字段时会不会站用硬盘空间?

解决方案 »

  1.   

    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) 字节之间。
      

  2.   

    nText字段的更新方法---->
    DECLARE @ptrval binary(16)
    SELECT @ptrval = TEXTPTR(LSD_Comment) 
       FROM Legal_Dispute WHERE LD_Record_No=25
    UPDATETEXT Legal_Dispute.LSD_Comment @ptrval 0 0 N'新增数据' 
      

  3.   

    MEMO字段的数据类型,是nvarchar(4000)
      

  4.   

    我认为nvarchar和char两种类型都可以,char更好一些,不站多余的磁盘空间,nvarchar就需要占用你所设置的数据类型的长度了,并且如果你的记录修改时,必须将系统自动补齐的空格删除。(仅供参考,不知其他同行的意见如何)