广告
返回顶部
首页 > 资讯 > 数据库 >SQLServer类型text运算符不兼容
  • 813
分享到

SQLServer类型text运算符不兼容

2024-04-02 19:04:59 813人浏览 八月长安
摘要

SQLServer 类型 text 运算符不兼容   DB : SQLServer 2012 问题: Text 类型的列,不支持“ = ”运算符。 报错如下:

SQLServer 类型 text 运算符不兼容

 

DB SQLServer 2012

问题:

Text 类型的列,不支持“ = ”运算符。

报错如下:

消息 402,级别 16,状态 1,第 1 行

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

问题现象:

---create table test0706(id int,a text);

---insert into test0706 select id,ssfb as a from t1;

select * from test0706 where a='10';

消息 402,级别 16,状态 1,第 1 行

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

select * from test0706 where a in ('10');

消息 402,级别 16,状态 1,第 1 行

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

update test0706 set a=100 where id='2';

消息 206,级别 16,状态 2,第 1 行

操作数类型冲突: int 与 text 不兼容

 

解决方案:

一: like

text类型查询时不支持=,可以支持like

select * from test0706 where a like '10';

二:cast

select  * from test0706 where cast(a as nvarchar) = '10';

---同理也可以用于update

BEGIN TRAN 

update test0706 set a = cast('100' as text) where id=2;

COMMIT TRAN

---ROLLBACK TRAN

三: READTEXT (Transact-SQL)

https://docs.microsoft.com/zh-cn/previous-versions/sql/sql-server-2008-r2/ms187365(v=sql.105)

从 text、ntext 或 image 列读取 text、ntext 或 image 值,从指定的偏移量开始读取指定的字节数。

语法:

READTEXT { table.column text_ptr offset size } [ HOLDLOCK ]

……

您可能感兴趣的文档:

--结束END--

本文标题: SQLServer类型text运算符不兼容

本文链接: https://www.lsjlt.com/news/48118.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作