数据类型 text 和 varchar 在 add 运算符中不兼容

原文:数据类型 text 和 varchar 在 add 运算符中不兼容

在SQL Server2005中,使用类似下面的Update语句:


1


UPDATE tb_SmsBlacklist
SET mobile=mobile +‘,‘+‘‘

其中mobile为text数据类型,会报错:数据类型 text 和 varchar 在 add 运算符中不兼容,解决方法如下:


1


UPDATE tb_SmsBlacklist
SET mobile=CAST(mobile
AS VARCHAR)
+‘,‘+‘‘

就是用CAST函数将text数据类型的数据强制转换成varchar类型,这样语句就可以正确的执行。

时间: 2024-10-12 21:32:05

数据类型 text 和 varchar 在 add 运算符中不兼容的相关文章

数据类型 varchar 和 uniqueidentifier 在 add 运算符中不兼容

select '<a href="/'+a.id +'" title="'+ a.title +'">'+a.Title+'</a>' from dbo.ticles a; 解决办法: 使用:  cast , 修改之后: select '<a href="/'+cast(a.Id as varchar(8000)) from dbo.ticles a; 原文地址:https://www.cnblogs.com/youmingk

查询数据库语句报错“数据类型 text 和 varchar 在 equal to 运算符中不兼容。&quot;

问题:查询数据库语句报错"数据类型 text 和 varchar 在 equal to 运算符中不兼容." 解决: select * from 表名称 where cast(查询的字段名称 as varchar(max)) ='查询的值'

System.Data.SqlClient.SqlException: 数据类型 text 和 varchar 在 equal to 运算符中不兼容。

一.引起的源头 环境:vs2015,sqlserver2008 相关程序包:ef6 定义了一个实体article public class Article { public string Data{get;set;} } EntityTypeConfiguration的配置 Property(a => a.Data).IsRequired().HasColumnType("text"); 这样可以正常生成表字段,而且类型也正确插入数据的时候,就引起了以下异常 System.Dat

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

MSSQL 对比数据类型text和varchar / navchar(xxx)

今天在查询数据表中的一个字段,数据类型为TEXT. SELECT TOP 10 * FROM Table1 WHERE TEXT1 = ‘12321’; 错误提示:数据类型 text 和 varchar 在 equal to 运算符中不兼容. C#中不管是TEXT或VARCHAR还有NAVCHAR都会对应String类型,但在数据库中却不能直接对他们直接进行比较. 修改SQL语句如下: 使用CONVERT(字段类型, 字段名称) SELECT TOP 10 * FROM table1 WHERE

SQL Server中Text和varchar(max)数据类型区别

SQL Server中Text和varchar(max)数据类型区别 以前只知道text和image是可能被SQL Server淘汰的数据类型,但具体原因不太清楚,今天读书的时候发现了text与varchar(max)和nvarchar(max)的区别,主要是对操作符的限制,text只能被下列函数作用: 函数 语句 DATALENGTH READTEXT PATINDEX SET TEXTSIZE SUBSTRING UPDATETEXT TEXTPTR WRITETEXT TEXTVALID

CONVERT(varchar(10), getdate(), 120 )中数字参数用法

这是一个mssql数据库的函数,Convert函数的作用,是进行数据类型的转换.而您所问的这个convert(char(20),openDate,120)则是对日期字段,进行格式化转换成字符格式的函数.接下来,对您函数中的三个参数,分别进行说明:1.char(20),是要转换成的目标数据类型及长度,这里您还可以使用varchar(20),也可以使用varchar(10),如果使用20,则转换后的字符串可以是20的长度,如果是10,则只取前10 位了.后面的省掉.2.openDate,是一个日期字

MSSQL报错:参数数据类型 text 对于 replace 函数的参数 1 无效的解决办法

Ms - sql 数据库批量替换字符串 MSSQL报错:参数数据类型 text 对于 replace 函数的参数 1 无效的解决办法 update ContentInfo set spcContent=replace(cast(spcContent as varchar(max)),'http://www.buy5188.com/','http://www.epowerchina.com.cn/')

算术运算符中的自增与自减的注意事项

++.--两种运算符都是单目运算符,具有向右结合性(也就是优先与运算符右边的变量结合),而且他们的优先级比其他算术运算符高.当++或--运算符置于变量的左边时,称为前置运算,表示先进行自增或自减运算再使用变量的值,而当++或--运算符置于变量的右边时,称为后置运算,表示先引用变量的值再自增或自减运算. 如,设i=1,j=2,则在计算++i+j--的结果时,先进行++i运算,得i=2,再进行j--运算,根据后置运算规则可知,系统将先引用j的原始值2与i的新值2相加,之后再进行j--,得j=1.因此