我有一个旧数据库,其中列类别存储在错误的形状中......其中有额外的空间,例如
Hotels in London
Hotels in Manchester
有没有办法我可以改变表格内的这个空间......如果我可以从类别(中间空间)中删除额外的空间以获得这样的输出
Hotels in London
谢谢
您可以使用REPLACE
类似的功能
update table set columnName= REPLACE(columnName,' ',' ')
将数据下拉为您可以处理的值,然后使用以下方法删除额外的空白:
$foo = trim(preg_replace( '/\s+/', ' ', $foo ));
然后将其写回数据库。
我有类似的情况,在搜索特定字段的值时,我必须删除多余的空格。
我用过mysql的replace功能,像这样
SELECT * FROM `tableName` WHERE post_id = 'xxx' AND replace(`fieldName`,' ','') Like '%JobOppurtunity%' ;
在这里,replace 会递归删除 fieldName 中的所有空格并连接字段值,然后在 LIKE 关键字之后搜索我的连接字符串。
因此,如果我有字段值“Job Oppurtunity”,它会将其转换为“JobOppurtunity”,显然我已经通过任何字符串函数或正则表达式连接了我的搜索字符串。就像它这样做了
$txt_search_qry = trim(preg_replace( '/\s+/', '', $txt_search_qry));
我发现的另一种快速简单的方法是:
REPLACE(REPLACE(REPLACE(columnName,' ',' !'),'! ',''),' !',' ')