2 jjxkn jjxkn 于 2016.09.21 11:39 提问

关于SQLsever的一个问题

为什么我把三列组合起来中间会有空格?求告知原因和解决方法图片图片

8个回答

guwei4037
guwei4037   Ds   Rxr 2016.09.21 11:49

是不是有空格,你用ltrim和rtrim函数去除一下空格试试。

LM5463640
LM5463640   2016.09.21 11:50

试试这个 select product||''||size from tableName;

LM5463640
LM5463640 回复jjxkn: select product||''||colorid||''||sizeid from tableName;你试试,我用的是oracle数据库就没问题,不报错。你看看那个colorId字段的值,结尾是不是都填充空格了,改成varchar后,你选择一条现有数据,将colorId的值,手动做个更新什么的,重新录入一下值。在执行前面那个sql语句
大约一年之前 回复
jjxkn
jjxkn 引号不完整
大约一年之前 回复
LM5463640
LM5463640   2016.09.21 11:57

我查之前是这样的:
图片说明

改为就是这样的了:
图片说明

你看看你数据是不是又空格,我数据里没有空格的

LM5463640
LM5463640   2016.09.21 12:07

你可以看一下你的colorID和其字段,估计是char类型的吧,如果是改成varchar

jjxkn
jjxkn 换成varchar没有变化
大约一年之前 回复
jjxkn
jjxkn 是nvarchar的
大约一年之前 回复
angryData
angryData   2016.09.21 12:11

重新加载下试试,有几次有问题重新加载下后就好了

Marksinoberg
Marksinoberg   Ds   Rxr 2016.09.21 13:18

空格,冒号什么的都要仔细的检查一遍哦。

jjxkn
jjxkn   2016.09.21 13:34

我百度到的答案,亲测有效果。
你是想更新表,还是说只是想把查询出来的结果去掉空格?update table set address=replace(address,' ','') --这个是更新select replace(address,' ','') from table

jjxkn
jjxkn 这个条码是我用三个列组合的,排除了三列的空格,如果是某列数据的空格估计得用ltrim函数才行
大约一年之前 回复
qql803
qql803   2016.09.26 18:49

字段数据类型可能设置定长的char 类型

Csdn user default icon
上传中...
上传图片
插入图片