数据类型text 和varchar在 equal to运算符中不兼容

我要做一个用DataSet读取数据,SQL语句是selectstudentID,name,sex,classidbirthdaynativefromlearningwhe... 我要做一个用 DataSet读取数据,SQL语句是select studentID,name,sex,classid birthday native from learning where sex='女'; 意思就是把表中 性别为女的信息 显示出来,请问我的语句哪里有错误吗? 展开
 我来答
Tosunk
推荐于2017-11-23 · TA获得超过436个赞
知道小有建树答主
回答量:279
采纳率:0%
帮助的人:347万
展开全部
你的性别字段sex是text类型,该类的字段不能参与比较,

字段也不允许更新

一种解决方案是,给表新加一个字段XB
alter tabl leaning add xb varchar(10)
将字段sex的内容更新到xb中去
update leaning set xb=sex where xb is null
删除 sex字段(可以不删除)
查询就可以这样了
select studentID,name,sex,classid birthday native from learning where XB='女';

楼主可以试试
茹晓班玟
2020-06-08 · TA获得超过3875个赞
知道大有可为答主
回答量:3151
采纳率:30%
帮助的人:190万
展开全部
text类型查询时不支持=,可以支持like,nvarchar(max)数据类型是新类型,长度与text相等
操作text类型的函数很特殊,所以自新版本以来,一般大数据类型都定义为max,弃用text
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式