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

Posted

tags:

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

参考技术A

1.直接改数据库字段类型。
2.把SQL语句修改为:select * from A where convert(nvarchar(255),test)=’xxx’。

因为不管是text还是nvarchar,实体类中的影射都应该是string,因为C#只有一个string是用来表示字符串的,不过这两个数据类型在数据库中是完全不同的,所以无法在他们之间进行比较操作,尤其那个ntext,很多操作都不能做,就算是两个ntext类型,也没有办法进行比较操作。

test字段为ntext类型

SQL语句:select * from A where test=’xxx’
执行之后会出现:
数据类型 ntext 和 varchar 在 equal to 运算符中不兼容的错误信息。
那把SQL语句该成:select * from A where test=convert(ntext,’xxx’)
结果出现:数据类型 ntext 和 ntext 在 equal to 运算符中不兼容的错误信息。


如何解决:数据类型 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

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

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

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

Sqlserver 报错“参数数据类型 ntext/text 对于 replace 函数的参数 1 无效”的解决方案及原理分析扩展

当列是NTEXT时,SQL Server:IN('asd')不工作

SQL中char nchar varchar nvarchar text ntext的区别

将 NTEXT 列与常量值进行比较的正确方法是啥?