zoukankan      html  css  js  c++  java
  • 关于varchar(max), nvarchar(max)和varbinary(max)

    在MS SQL2005及以上的版本中,加入大值数据类型(varchar(max)、nvarchar(max)、varbinary(max) )。大值数据类型最多可以存储2^30-1个字节的数据。
    这几个数据类型在行为上和较小的数据类型 varchar、nvarchar 和 varbinary 相同。
    微软的说法是用这个数据类型来代替之前的text、ntext 和 image 数据类型,它们之间的对应关系为:
    varchar(max):文本,代替text 
    nvarchar(max):Unicode文本,代替ntext ,存放多语言文本的时候必须用这个
    barbinary(max):二进制数据,代替image,存放非文本数据必须用这个
    有了大值数据类型之后,在对大值数据操作的时候要比以前灵活的多了。比如:之前text是不能用‘like’的,有了varchar(max)之后就没有这些问题了,因为varchar(max)在行为上和varchar(n)上相同,所以,可以用在varcahr的都可以用在varchar(max)上。
    另外,这个还支持对插入的和删除的表中的大值数据类型列引用上使用 AFTER 触发器,text就不行

    SQL 2005 中varchar(max) 的用法

    --    测试一 varchar(10) 
    declare    @str1    varchar(4001) 
    declare    @str2    varchar(4001) 
    select    @str1    =    replicate( ’1 ’,4001) 
    select    @str2    =    replicate( ’2 ’,4001) 
    --最大长度,其余截断 
    select    len(@str1    +    @str2) 
    --结果8000 
    --    测试二 varchar(max) 
    declare    @str1    varchar(4050) 
    declare    @str2    varchar(4050) 
    select    @str1    =    replicate( ’1 ’,4050) 
    select    @str2    =    replicate( ’2 ’,4051) 
    select    len(convert(varchar(max),@str1)+@str2) 
    select    len(cast(@str1 as varchar(max))+@str2) 
    --结果8100 
    --    测试三 
    declare    @str1   varchar(max) 
    select    @str1    =    replicate(’1’,8006) 
    --字符最长为8000 
    select    len(@str1) 
    --结果8000

  • 相关阅读:
    python3.4下django集成使用xadmin后台
    在django中集成ckeditor富文本
    python多线程爬虫设计及实现示例
    利用python将mysql中的数据导入excel
    win7中python3.4下安装scrapy爬虫框架(亲测可用)
    windows下pycharm远程调试pyspark
    python连接impala(安装impyla)
    将百度坐标转换的javascript api官方示例改写成传统的回调函数形式
    csv导入数据到mysql
    windows下python连接oracle数据库
  • 原文地址:https://www.cnblogs.com/losesea/p/3458644.html
Copyright © 2011-2022 走看看