去掉mysql数据中的换行与回车符,解决方法:
复制代码 代码示例:
update tablename set field = replace(replace(field, char(10), ''), char(13), '');
char(10): 换行符
char(13): 回车符
mysql的trim函数没办法去掉回车和换行,只能去掉多余的空格,可以用mysql的replace函数。
参考如下方法:
假设想要审核数据库中内容为“我爱你
”的短信息(注意内容后有换行)通过(status改变成1)
之前的sql语句是不起作用的
复制代码 代码示例:
update `tran`
set `status` = '1'
where `msg` = '我爱你';
修改后的语句:
复制代码 代码示例:
update `tran`
set `status` = '1'
where trim( replace( `msg`, '\r\n', ' ' ) ) = '我爱你';
把数据中的回车换行等替换成空格之后再trim掉,就达到目的了,虽然不是特别完美,但是由于没办法在用户录入的时候控制,所以只能出此下策,好在mysql内置函数的效率还是很有保证的。
完整语句:
复制代码 代码示例:
update `tran`
set `status` = '1'
where trim( trim(
both '\r\n'
from content ) ) = '我爱你'
用了两个trim,这样的好处是不会替换内容中间的换行和回车,只会处理头尾的空格换行回车,相当于php中trim函数的作用了。
有关mysql trim函数的用法,参考如下文章:
mysql trim函数用法的小例子
mysql trim函数用法实例
mysql trim()函数用法实例
mysql trim函数用法举例