2012-03-10 62 views
4

我有3个字段我并置,并在我的查询中工作得很好,但我无法解决如何从concat字段中的合并数据中删除空白。删除MySQL中连接的字符串字段的空格

TRIM(CONCAT(c.data1,c.data2)) AS concat_done 

结果:

concat_done 
33 0250S 0450E 028NW 

回答

4

代替

TRIM(CONCAT(c.data1,c.data2)) AS concat_done 

尝试

REPLACE(CONCAT(c.data1,c.data2), ' ', '') AS concat_done 
+0

嗯,我感觉有点能干。我只是在试验REPLACE(),并且你钉了它。工作完美。谢谢。 8分钟后会接受你的回答(sys现在不会让我)。 – OldWest 2012-03-10 04:57:18

4

添加REPLACE电话:

REPLACE(TRIM(etc...), ' ', '') 
         ^--one space 
          ^-- no spaces 
+0

哈哈,你让我过了几秒钟 – 2012-03-10 04:54:27

3

首先,您应该显示您的输入以及您的输出。

其次,trim() removes leading and trailing spaces,所以它看起来像你想concat(trim(var1), trim(var2)),而不是修剪连接的版本,现在在里面有空格。

更新:或者,正如其他答案所说,只需使用replace()。但这就是为什么trim()不能按照你想要的方式工作的原因。

0

UPDATE Table_1 set Column_1 = TRIM(Replace(Replace(Replace(Replace(Column_1,'\ t',''),'\ n',''),'\ r',''));

此外,你可以使用更多的替换到内部替换。