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)了。

  • 相关阅读:
    Linux系统下DedeCMS安全设置详细教程
    乐淘网CEO毕胜:中国不具备购买玩具的文化
    生意
    Sql Server Cpu 100% 的常见原因及优化
    认准了就去做
    雷军谈互联网七字诀:天下武功唯快不破
    电商需要与实体结合才可行
    Xml Schema命名空间
    高效的MySQL分页
    正则
  • 原文地址:https://www.cnblogs.com/wangsu/p/1507054.html
Copyright © 2011-2022 走看看