码迷,mamicode.com
首页 > 数据库 > 详细

数据库表中存在Text类型的属性时,写sql语句时需要注意喽!

时间:2015-07-06 23:13:11      阅读:1782      评论:0      收藏:0      [点我收藏+]

标签:

    之前,习惯性地写查询语句时,查询条件用“=”判断。今天写程序的时候,查询时突然报了一个错误:数据类型text 和varchar 在equal to 运算符中不兼容。查看了一下数据库发现,其中有一个属性(例如Name:)是Text类型的,这时查询条件Name=‘张三‘ 就会报错。查找相关资料发现Text类型的属性不能用“=”判断相等,因为它不支持,可以用“like”判断,例如:Name like ‘张三‘ 。

    另外还有几点需要注意:

  (1):Text字段类型不能直接用replace函数来替换,必须用updatetext

  (2):字段比较不能用 where 字段 = ‘某数据’,可以用like来代替

  (3):updatetext时,若@ptrval值为空会出错,需注意*/

    也有人说text现在很少用了,因为在MS SQL2005及以上的版本中,加入大值数据类型(varchar(max)、nvarchar(max)、varbinary(max) )。大值数据类型最多可以存储2^30-1个字节的数据。

这几个数据类型在行为上和较小的数据类型 varcharnvarchar 和 varbinary 相同。

    微软的说法是用这个数据类型来代替之前的textntext 和 image 数据类型,它们之间的对应关系为:

    varchar(max)-------text;

    nvarchar(max)-----ntext;

    varbinary(max)----image.

数据库表中存在Text类型的属性时,写sql语句时需要注意喽!

标签:

原文地址:http://www.cnblogs.com/xfq-sean/p/4625531.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!