从列Mysql中修剪额外的空间

时间:2013-02-05 18:02:47

标签: php mysql trim

我有一个旧的数据库,其中列类别以错误的形状存储......其中有额外的空格,例如

Hotels     in     London
Hotels        in     Manchester

有没有办法可以改变表格中的这个空间...如果我可以从类别(中间空间)中删除额外的空间来获得这样的输出

Hotels in London

THX

4 个答案:

答案 0 :(得分:3)

您可以使用REPLACE功能,如

update table set columnName= REPLACE(columnName,'      ',' ')

答案 1 :(得分:3)

将数据向下拉入可以处理的值,然后使用以下方法删除多余的空格:

$foo = trim(preg_replace( '/\s+/', ' ', $foo ));

然后将其写回数据库。

答案 2 :(得分:0)

我有类似的情况,我必须在搜索特定字段的值时删除多余的空格。

我使用了mysql的替换功能,就像这样

SELECT * FROM `tableName` WHERE post_id = 'xxx' AND replace(`fieldName`,' ','') Like '%JobOppurtunity%' ;

这里有什么替换,它以递归方式删除fieldName中的所有空格并连接字段值,然后在LIKE关键字后搜索我的连接字符串。

因此,如果我有字段值'Job Oppurtunity',它会将其转换为'JobOppurtunity',显然我已经通过任何字符串函数或正则表达式连接了我的搜索字符串。就像它这样做

$txt_search_qry = trim(preg_replace( '/\s+/', '', $txt_search_qry));

答案 3 :(得分:0)

我发现的另一种快速而简单的方法是:

REPLACE(REPLACE(REPLACE(columnName,' ',' !'),'! ',''),' !',' ')
相关问题