对数据类型而言运算符无效。运算符为 add,类型为 text。
2008-12-26 21:36
309 查看
最近在开发一个文件管理系统的时候,遇到另外一个问题:本来偶在本地的数据库是SQL2008,有一个字段SharedUserId 是nvarchar(max)类型,偶在查询SQL语句中用了...WHERE SharedUserId + ',' LIKE '%2,%', 可以正常执行。后来把程序发布到买的空间服务器上,服务器上是SQL2000的数据库,因为SQL2000没有nvarchar(max)类型,所以偶改成了text类型,结果在执行同样的SQL语句时程序就报错了:
---------------------------
Microsoft Internet Explorer
---------------------------
对数据类型而言运算符无效。运算符为 add,类型为 text。(System.Exception)
---------------------------
OK
---------------------------
于是,偶把本地的数据库字段类型也改成text,再测试,也报类似错误(偶的SQL2008是英文版的):
---------------------------
Microsoft Internet Explorer
---------------------------
The data types text and varchar are incompatible in the add operator.(System.Exception)
---------------------------
OK
---------------------------
后来在网上搜索了一下,原来的查询语句稍微修改下(把text转换为nvarchar再执行+运算),就可以了:...WHERE SharedUserId + ',' LIKE '%2,%'换成...WHERE CAST(SharedUserId AS NVARCHAR) + ',' LIKE '%2,%' 或 WHERE CONVERT(NVARCHAR, SharedUserId) + ',' LIKE '%2,%'
---------------------------
Microsoft Internet Explorer
---------------------------
对数据类型而言运算符无效。运算符为 add,类型为 text。(System.Exception)
---------------------------
OK
---------------------------
于是,偶把本地的数据库字段类型也改成text,再测试,也报类似错误(偶的SQL2008是英文版的):
---------------------------
Microsoft Internet Explorer
---------------------------
The data types text and varchar are incompatible in the add operator.(System.Exception)
---------------------------
OK
---------------------------
后来在网上搜索了一下,原来的查询语句稍微修改下(把text转换为nvarchar再执行+运算),就可以了:...WHERE SharedUserId + ',' LIKE '%2,%'换成...WHERE CAST(SharedUserId AS NVARCHAR) + ',' LIKE '%2,%' 或 WHERE CONVERT(NVARCHAR, SharedUserId) + ',' LIKE '%2,%'
相关文章推荐
- 对数据类型而言运算符无效。运算符为 add,类型为 text。
- 对数据类型而言运算符无效。运算符为 add,类型为 text。
- 对数据类型而言运算符无效。运算符为 add,类型为 ntext
- 对数据类型而言运算符无效。运算符为 add,类型为 ntext
- 数据类型 text 和 varchar 在 add 运算符中不兼容
- 数据类型 text 和 varchar 在 add 运算符中不兼容
- 数据类型 text 和 varchar 在 add 运算符中不兼容
- 查询数据库语句报错“数据类型 text 和 varchar 在 equal to 运算符中不兼容。"
- System.Data.SqlClient.SqlException: 数据类型 text 和 varchar 在 equal to 运算符中不兼容。
- SQL参数数据类型text对于replace函数的参数1无效
- GROUP BY 不能比较或排序 text、ntext 和 image 数据类型,除非使用 IS NULL 或 LIKE 运算符。
- “数据类型 varchar 和 bit 在 add 运算符中不兼容”解决方法
- 转:邹建--对于局部变量,text、ntext 和 image 数据类型无效
- sql distinct 不能比较或排序 text、ntext 和 image 数据类型,除非使用 IS NULL 或 LIKE 运算符
- MSSQL报错:参数数据类型 text 对于 replace 函数的参数 1 无效的解决办法
- 数据类型text 和varchar在 equal to运算符中不兼容
- 函数 replace 的参数 1 的数据类型 text 无效。
- [Microsoft][ODBC SQL Server Driver][SQl Server]参数数据类型 text 对于 replace 函数的参数 1 无效。
- 解决:数据类型 text 和 varchar 在 equal to 运算符中不兼容
- “数据类型 varchar 和 bit 在 add 运算符中不兼容”解决方法