中易网

sql语句中变量与字符串连接问题

答案:2  悬赏:0  
解决时间 2021-02-22 15:29
DECLARE @B NCHAr(20)
SET @B = '0'
DECLARE @A NCHAr(20)
SET @A = '_' + @B
SET @A = @A + 'f'
print @A

这个打印出来的为什么是_0不是_0f啊?也就是说单引号中的字符串后面可以连接变量,但是变量后面连接不上去字符串啊,求大神解救!
最佳答案
这是由于你的变量声明为定长字符型的缘故,你给变量@A设置的为定长20位长,通过SET @A = '_' + @B 给变量@A赋赋值后,里面存储的内容为"_0 ",即后面有18个空格,你后面有通过SET @A = @A + 'f'给它赋值,超过20位长,所以后面的f就无法保存.解决办法有两种:
1.把DECLARE @A NCHAr(20)改为:DECLARE @A NVARCHAr(20)
2.把SET @A = @A + 'f'改为:SET @A = RTRIm(@A) + 'f'
全部回答
那要看你使用的是什么样的sql系统,如果使用的是标准的sql,一般可以这样写: update char set name=concat(name,"abc") where id=1; 这里要注意的是:concat是标准的字符串连接函数,你要保证你name属性的数据类型是字符串型的,还有,根据你使用的系统,决定引用字符串时是使用单引号还是双引号;如果你使用的系统是mysql,mssql或者其他的sql,一般还有对应的更加简洁的表达式。 还有,在有的sql系统里,你上面的表达式是可以使用的,只需把单引号换双引号即可。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
设a为实数,函数f(x)=2x²+(x-a)|x-a|,求f(x)
贤士花园第二社区居委会怎么去啊,有知道地址
98年考了驾驶证没有年检怎么办
白蚁跟飞蚁有什么区别
那高在哪里啊,我有事要去这个地方
总IgE(TIgE)化验发光法739[0-87]是什么意思
洗白衬衫应注意哪些问题?
山产品专营店这个地址在什么地方,我要处理点
鱼塘清淤
怎么样才能一个人无忧无虑的生活,我的意思是
英语作文中举例常用for example such as like
红豆内衣专卖店在什么地方啊,我要过去处理事
什么是右侧超车,为什么有人超车不扣分
请问《西游记》中所说的交梨、火枣是指什么?
中国电信达美营业厅地址在什么地方,想过去办
推荐资讯
周彪的英文名怎么写?
彩虹酒业商行在哪里啊,我有事要去这个地方
上海梵欧化妆品有限公司商标注册号多少
记账凭证如何一次打印
光走一秒.人步行要多久
鱼上万象城店我想知道这个在什么地方
已知根号(x-2)2=2-x,则x的取值范围是。
株洲方特门票残疾人有优惠吗
甲烷四个氢被苯环取代所得物质至少共有多少个
英国的曼彻斯特1850年时期风景秀丽,空气清新
现在拆迁拆房子,是拆迁办拆的,还是地产商拆
ipad壳怎么卸下来
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?