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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据类型text 和varchar在 equal to运算符中不兼容相关的知识,希望对你有一定的参考价值。

我要做一个用 DataSet读取数据,SQL语句是select studentID,name,sex,classid birthday native from learning where sex='女'; 意思就是把表中 性别为女的信息 显示出来,请问我的语句哪里有错误吗?

你的性别字段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='女';

楼主可以试试
参考技术A text类型查询时不支持=,可以支持like,nvarchar(max)数据类型是新类型,长度与text相等
操作text类型的函数很特殊,所以自新版本以来,一般大数据类型都定义为max,弃用text

如何解决:数据类型 ntext 和 varchar 在not equal to 运算符中不兼容

select * from hrmdepartmentdefined where zhbgly = ‘36‘ 会报错。显示


【Err】42000-sql server 数据类型  text和varchar 在equal to  运算符中不兼容。


正确的写法为:

select * from hrmdepartmentdefined where convert(varcahr(1000),zhbgly) = ‘36‘


本文出自 “霸王别集” 博客,请务必保留此出处http://zhangtainren.blog.51cto.com/448826/1983546

以上是关于数据类型text 和varchar在 equal to运算符中不兼容的主要内容,如果未能解决你的问题,请参考以下文章

System.Data.SqlClient.SqlException: 数据类型 text 和 varchar 在 equal to 运算符中不兼容。

如何解决:数据类型 ntext 和 varchar 在not equal to 运算符中不兼容

如何解决数据类型 ntext 和 varchar 在not equal to 运算符中不兼容?

数据类型 ntext 和 varchar 在not equal to 运算符中不兼容 -九五小庞

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

mysql中char,varchar与text类型的区别和选用