mysql8 LTRIM函数删除左侧所有空格

LTRIM就删左边空格。

' barbar'这种,删完就'barbar'。

打开MySQL,敲命令就行。

'barbar'这种,直接SELECT LTRIM('barbar')。

注意,右边空格留着。

先试试?

MySQL去空格技巧让数据更整洁mysql中去除空格

嗯,前两天帮同事处理一个订单表,数据导入的时候全是乱码,其中就有好多字符串前后莫名其妙多出来的空格。
他急得满头大汗,我就拿过数据库,敲了几行代码,几秒钟就好了。
MySQL这东西啊,用熟了就是顺手。

sql -
去掉用户名前后的空格 SELECT TRIM(user_name) AS clean_name FROM users;
-
去掉地址里的所有空格,包括中间的 SELECT REPLACE(address, ' ', '') AS no_space_address FROM orders;
记得有一次做报表,客户要求不能有空白字符,不然图表会乱跳。
当时数据量挺大,几万条记录,用TRIM和REPLACE嵌套着处理,跑了好一会儿。
后来换种思路,直接在导入的时候设置好字段规范,省事多了。
你看,有时候提前规划比事后补救强多了。

哎,突然想到REPLACE函数不只是能去掉空格,还能替换其他字符。
比如把订单号里的"-"去掉:
sql SELECT REPLACE(order_id, '-', '') AS clean_order_id FROM orders;
这个函数用起来挺灵活的。
不过正则表达式那个REGEXP_REPLACE,我用的少,记不太清了。
上次用还是什么时候来着?好像是一年前给一个老项目改代码的时候?那时候调试了半天,结果发现正则表达式写错了,浪费了不少时间。
所以现在对正则表达式还是有点敬畏之心。

你说,数据库处理这些字符串问题,是不是有时候跟做菜有点像?你得知道哪些调料(函数)放多少量(参数),才能做出合口味的菜(整洁的数据)。
不过做菜可以反复尝试,数据库代码写错了,有时候还得从头来。
哎,这数据清洗的活儿,真是个技术活,也是个细心活儿。

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

对,就是数据库里空格太多。
浪费空间,还影响搜索。

MySQL有几个空格清理工具,最常用的是TRIM。

TRIM能削掉前后空格,语法简单:TRIM([BOTH|LEADING|TRAILING][remstr]FROM]str)。

BOTH削两边,LEADING削左边,TRAILING削右边。
默认削空格。

比如,这行代码削掉变量str的前后空格:SET @str='This is a test'; SET @str=TRIM(@str); SELECT @str;
结果就是"This is a test"。

清理数据库,先选字段,比如这表里的"name"字段:
CREATE TABLE test_table(id INT(1 0) UNSIGNED NOT NULL AUTO_INCREMENT, name VARCHAR(5 0) DEFAULT NULL, PRIMARY KEY(id)) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 mb4 ;
INSERT INTO test_table(name) VALUES('Alex'), ('Bob'), ('Charlie');
然后,用TRIM削空格:
UPDATE test_table SET name=TRIM(name);
最后,查查结果:
SELECT name FROM test_table;
输出应该是无空格的姓名。

总结,TRIM简单有效,清理数据库空格的好帮手。
自己看效果吧。