zoukankan      html  css  js  c++  java
  • 永别了,Text与NText

          曾几何时刚进入这个行业的时候,那时候就是用ASP做网站,对于新闻内容,我们用得最多的就是Text与NText,从SQL97到SQL2000,那时候我一直用它。渐渐的,不再做网站了,一直都是做的信息系统,Text和Ntext用得比较少了。

          随便SQL2005的出现,Nvarchar(max)走进了程序生活。记得刚出来的时候,微软很提倡使用它字段类型,那时候,觉得也无所谓。感觉上一样使用。

          但是今天发生了一件很奇怪的事,我不知道是因为微软的BUG还是它的特性。

          目前设计的一个系统,需要一个字段存放大量的Guid形式的字符串,如“10a9bc89-398b-47c3-b028-44ead644acb4”。

          我们知道Ntext字段类型,在检查的时候比较麻烦,必须这样写CAST(Taker AS NVARCHAR) = '10a9bc89-398b-47c3-b028-44ead644acb4'

          否则会报“数据类型text 和varchar 在equal to 运算符中不兼容”。

          例如SQL文

          

    select * from sprs_T_MESSAGENOTICE where MessageType='1' AND Taker = '10a9bc89-398b-47c3-b028-44ead644acb4'

    这条记录其实是存在的,可是如果Taker是Ntext,它就查不到数据,如果我10a9bc89-398b-47c3-b028-44ead644acb4换成其它字符串,如“1”,它就查出来了

    存放Guid形式的数据,它就是不行!

    也不知道为什么会这样,不知道是不是微软的BUG,还是它的内部特性。咱也不深究了,没办法只能改用Nvarchar(max)了。

  • 相关阅读:
    mysql那些事(1)手机号与座机号码如何存储
    分享一个PHP调用RestFul接口的函数
    php sprintf用法
    HTTP状态码详解
    PHP随机生成中国人姓名的类
    PHP计算两组经纬度坐标之间的距离
    PHP根据经纬度获取在范围坐标的数据
    PHP 利用QQ邮箱发送邮件「PHPMailer」
    PHP中利用PHPMailer配合QQ邮箱实现发邮件
    修改PHP上传文件大小限制
  • 原文地址:https://www.cnblogs.com/wangsu/p/1507054.html
Copyright © 2011-2022 走看看