数据类型ntext与varchar在not equal to运算符中存在不兼容问题吗?

更新于
2026-10-09 13:04:49
135阅读来源:SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计291个文字,预计阅读时间需要2分钟。

数据类型ntext与varchar在not equal to运算符中存在不兼容问题吗?

test字段为ntext类型,SQL语句:select * from A where test='xxx',执行后会出错:数据类型ntext和varchar在equal to运算符中不兼容。这是不是因为值也是ntext类型就行的呢?

数据类型ntext与varchar在not equal to运算符中存在不兼容问题吗?

test字段为ntext类型
SQL语句:select * from A where test=’xxx’
执行之后会出现:
数据类型 ntext 和 varchar 在 equal to 运算符中不兼容的错误信息。

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

解决这个问题有2种办法:
1.直接改数据库字段类型。。。。(不治本)
2.把SQL语句修改为:
select * from A where convert(nvarchar(255),test)=’xxx’

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

本文共计291个文字,预计阅读时间需要2分钟。

数据类型ntext与varchar在not equal to运算符中存在不兼容问题吗?

test字段为ntext类型,SQL语句:select * from A where test='xxx',执行后会出错:数据类型ntext和varchar在equal to运算符中不兼容。这是不是因为值也是ntext类型就行的呢?

数据类型ntext与varchar在not equal to运算符中存在不兼容问题吗?

test字段为ntext类型
SQL语句:select * from A where test=’xxx’
执行之后会出现:
数据类型 ntext 和 varchar 在 equal to 运算符中不兼容的错误信息。

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

解决这个问题有2种办法:
1.直接改数据库字段类型。。。。(不治本)
2.把SQL语句修改为:
select * from A where convert(nvarchar(255),test)=’xxx’

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