SQL字段用变量和字符串来连接区别在哪里

DECLARE @HB VARCHAR(6)
SET @HB=' 环保'
UPDATE INVMB SET MB002=rtrim(MB002)+@HB
不用变量下面语句报错二进制

UPDATE INVMB SET MB002=rtrim(MB002)+' 环保'

可能是字符类型不一致或含有中文的问题,试试下面三条语句看:
1、UPDATE INVMB SET MB002=rtrim('MB002')+' 环保'
2、UPDATE INVMB SET MB002=rtrim(MB002)+N' 环保'
3、UPDATE INVMB SET MB002=rtrim('MB002')+N' 环保'追问

MB002加了引号,会不做变量处理了吧,哥哥

温馨提示:内容为网友见解,仅供参考
无其他回答

SQL字段用变量和字符串来连接区别在哪里
可能是字符类型不一致或含有中文的问题,试试下面三条语句看:1、UPDATE INVMB SET MB002=rtrim('MB002')+' 环保'2、UPDATE INVMB SET MB002=rtrim(MB002)+N' 环保'3、UPDATE INVMB SET MB002=rtrim('MB002')+N' 环保'

sql语句(字段里面不能用变量吗)
sql语句不能直接使用变量。存储过程中可以使用变量,调用存储过程时传递变量,由数据库将变量替换为实际值并执行得到结果。

ASP中 sql语句和变量的拼接问题。
一、你把[& a]写到了引号内部,那么他就变成字符串的一部分了,因此不会把值传入。修改:sql="select * from file where name like" & a 二、sql=sql1&" where jrzynl<10 " 运行成功的原因是sql1和后面的[" where jrzynl<10 "]之间有一个空格。而[sql=sql1&sql2]则没有导致了sql文...

sql中insert into中的字段名怎样用变量中的值代替
根据自己的要求进行修改就行了。其中+是连接字符串的,可能在不同的编程语言中是不一样的。

SQL 使用字符串变量 给 整型变量赋值
select语句后面的from应该是表名,不该写变量名,如果要用变量名,就用exec(sql语句)在sql语句中可以用变量名 exec('select '+ @number +' = max(id) from '+ @表1)

sql语句变量加''和不加有什么区别
引号中的内容为字符串,可以是数值,也可以是字符 没有引号的数字为表示为数据值(这里是整型数值),字符一般表示为字段名。尽管这样,系统会自动先进行一致性转换,再进行比较,所以,如果你的SNO是数值型,两个查询都不会报错,也会查询出想要的结果。但如果SNO是字符型,第一个查询就有可能报错,这...

SQL select 语句中where字句后面[列名]=某字符串,这个字符串能不能...
用在存储过程中是可以的,而且外面传数时在外面是变量,只要连接数据库后不是变量就可以了,如果有好多值,而且值不确定可以考虑子查询。

关于sql查询的字段上的符号的意思
sqlstr="select * from user where user='"&user&"'中sqlstr是一个SQL查询连接字符串,而user在这里是一个变量,为了就字符串和变量连接在一起,在SQL语言中用'"& &"' 这个连接符,其中''是表示被连接的变量是字符串格式的变量,""是分隔符,& &是连接符。

SQL字符加变量怎么表达?
字段不能用变量来代替,可以使用动态语句来实现你说的功能。declare @sqlstr varchar(8000)declare @i int set @i=1 while @i<=31 begin set @sqlstr='update 表 set d'+cast(@i as varchar(10))+'=值'exec (@sqlstr)--执行的时候比如@i=1则实际执行的是 update 表 set d1=值 set...

sql 在字符串里面定义变量 外面怎么获取
想在动态执行SQL时获得其执行过程中的变量值,那么要使用sp_executesql这个存储过程。它支持输入变量和输出变量,但是变量必须为标量类型,不支持表变量。所以,你要获得动态SQL中的表变量是实现不了的。如果是要获得动态SQL中执行的结果集的话,则可以使用临时表来保存数据。获取动态SQL中变量的示例:declar...

相似回答