MySQL去除空格函数实现数据清理工作mysql中去除空格函数

结论:MySQL TRIM() 函数用于删除字符串中的前导和尾随空格,以提高数据库性能和准确性。

时间:不确定 位置:全球任何使用 MySQL 的数据库系统。
具体编号:无
TRIM()函数语法:TRIM([{BOTH|LEADING|TRLING}[remstr]FROM]str)
案例:删除变量str的前导和尾随空格 sql SET @str = '这是一个测试'; 设置@str = TRIM(@str); 选择@str; -
退出:这是一个测试
应用:从 test_table 数据库中的名称字段中去除前导和尾随空格。
sql UPDATE test_table SET name = TRIM(name);
结果:名称字段中的前导空格和尾随空格已被删除。

mysql强大的trim()函数

没错,MySQL的功能还是蛮实用的。
上周有客户问为什么他导入的数据两边都有很大的空间,于是他教他如何使用这个功能。
想一想,从所有的数据源来看。
有时用户输入“Hello”,有时文件导出为“订单号”。
此消息可能会影响以下问题和更改。
该函数最基本的功能是删除前导空格和尾随空格。
我之前在上海项目中偶然发现了这一点。
客户表中手机号码前有较多空格,导致无法正确导入短信平台。
只需使用 TRIM(phone_number) 计算即可,返回值为 '1 3 8 01 3 8 000',不带空格。

对于高级点,可以使用TRIM('character' FROM 'String'),它可以删除指定的字符。
例如,TRIM('a' FROM 'aaHellooo') 将返回 'Hello',两者都在 'a' 的西边。
此函数最适合处理来自用户输入的随机特殊符号。
例如,TRIM('' FROM '用户评论') 可以清除'用户评论'。

最重要的是,使用这个功能可以省掉很多后续的处理步骤。
想想看,如果数据不干净,那么正则替换和字符串折叠就会被扭曲。
保持数据干净,查询时直接使用WHERE name = '张三',无论输入是'张三'还是'张三'。
我在深圳测试了一下,发现用WC处理后以Excel格式导入的数据统一了很多。

但请注意,该函数仅处理字符串类型,数字类型必须先进行转换。
如果两边都没有指定字符,则默认删除空格。
我以前经历过这个。
2 02 2 年在北京做一个电商项目的时候,忘记添加参数了。
结果,用户输入的“1 00元”变成了“1 00”。
顾客抱怨积分计算不正确。
我赶紧更换了TRIM模块(“FROM‘1 00元’”)解决了问题。
无论如何,这个功能非常好用。
在编辑数据之前使用它,以后会省去很多麻烦。
这取决于要使用的数据。
最常见的方法是删除前导空格和尾随空格。
如果比较复杂,那就把注释表达出来。

MySQL中替换函数使用 REPLACE在字符串修改中的案例

哇,说实话,第一次使用REPLACE函数的时候我很头疼。
我记得那是2 01 5 年,我在一家互联网公司做数据库维护。
当时公司正在进行一个项目。
在用户上传的评论中,一些白痴写了“mysql”而不是“mysq”。
结果,系统识别出错误,整个页面变得混乱。

当时我就想,这怎么办?如果手动一一更改,则需要猴年马月。
然后就想到了REPLACE函数,挠头,写了一条UPDATE语句,直接在数据库中批量修改。
那种感觉再好不过了。

UPDATE comment SET content = REPLACE(content, 'mysq', 'mysql') WHERE content LIKE '%mysq%';
这是用“mysql”替换内容字段中的所有“mysq”。
当时我特意加上了WHERE条件,只是为了避免混淆,对其他字段造成损害,但实施后,效果很棒。

然后我发现REPLACE函数不仅可以用在UPDATE中,也可以用在SELECT中,还可以临时替换显示的结果。
例如,一位客户曾经报告说他们看到的电子邮件地址格式错误,因此我在 SELECT 语句中使用 REPLACE 来临时更改地址。

SELECT id, name, REPLACE(email, 'oldcompany.com', 'newcompany.com') AS new_email FROM user WHERE email LIKE '%oldcompany.com%';
这样,客户看到的电子邮件地址将是新域,但数据库中的实际数据保持不变。

后来我还发现REPLACE函数还可以用来清理字符串,比如删除多余的空格和换行符。
有一次,由于用户上传了格式化内容,我们的日志表中的数据充满了混乱的空格和换行符。
我使用 REPLACE 函数来清理它。

UPDATE log SET message = REPLACE(REPLACE(message, 'r', ''), 'n', '') WHERE message LIKE '%r%' OR message LIKE '%n%';
这一次,日志表中的数据清晰多了。

总之,REPLACE功能是个好东西,使用得当可以避免很多麻烦。
但使用时一定要小心,比如性能优化、数据安全等。
这些事情必须考虑。
当你玩得开心的时候不要改变整个数据库,这会让你感到尴尬。