当前位置: 代码迷 >> 综合 >> 对数据类型而言运算符无效。运算符为 add,类型为 ntext
  详细解决方案

对数据类型而言运算符无效。运算符为 add,类型为 ntext

热度:12   发布时间:2023-12-19 01:46:04.0


最近在开发一个文件管理系统的时候,遇到另外一个问题:本来偶在本地的数据库是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,%'



UPDATE [qds113481444_db].[dbo].[Trip_infor]
   SET Tips = cast(Tips as NVARCHAR(max))+'<!-----优化开始 ---> 
<a href="http://www.dhly188.com" target="_blank"><span style="color:#FFFFFF;"> 敦煌协程旅游188</span></a> 
<a href="http://www.dunhuangly.cn" target="_blank"><span style="color:#FFFFFF;"> 敦煌协程旅游cn</span></a> 
<a href="http://www.qudunhuang.com" target="_blank"><span style="color:#FFFFFF;">中国国际旅行社</span></a>
<span style="color:#FFFFFF;">敦煌旅游,莫高窟门票,兰州到敦煌,敦煌莫高窟,敦煌参团,敦煌八景,敦煌跟团游,敦煌旅游攻略,
敦煌一日游报价,敦煌二日游报价,敦煌旅游线路,敦煌莫高窟,敦煌旅行社,敦煌旅游包车,敦煌自助游,去敦煌旅游,甘肃青海环线游,
青海到敦煌旅游包车,敦煌协程国旅,2017敦煌旅游攻略,敦煌旅游,莫高窟门票,兰州到敦煌,敦煌莫高窟,敦煌参团,敦煌八景,
敦煌跟团游,敦煌旅游攻略,敦煌一日游报价,敦煌二日游报价,敦煌旅游线路,敦煌莫高窟,敦煌旅行社,敦煌旅游包车,敦煌自助游,
去敦煌旅游,甘肃青海环线游,青海到敦煌旅游包车,敦煌协程国旅,2017敦煌旅游攻略 </span>
<!-----优化结束 --->'




  相关解决方案