解决mysql去掉字段空格:中间空格,左侧空格,右侧空格,两端空格,水平制表符(tab键或者\t)空格,换行键(\n)空格,回车键(Enter键)空格

本文主要是介绍解决mysql去掉字段空格:中间空格,左侧空格,右侧空格,两端空格,水平制表符(tab键或者\t)空格,换行键(\n)空格,回车键(Enter键)空格,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. 复现错误


今天,查看我禅道上的日志,发现有这个错误:

在这里插入图片描述

数据库查询处的字段,存在空格,那么,怎么解决这个问题呢?

2. 解决思路

  1. 首先打开控制台,查看所调用的接口。

  2. 通过接口找到对应的数据表。

由于数据表是公司所用,暂不能写入到博客中,我单独创建数据表来演示。

表的创建代码如下:

CREATE TABLE `class`  (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`no` int(11) NULL DEFAULT NULL,PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 3;

按如下方式添加两条测试数据:


mysql> INSERT INTO `class`(`name`,`NO`) VALUES ('六 年 级', 20060);Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO `class`(`name`,`NO`) VALUES ('七年级', 20061);Query OK, 1 row affected (0.01 sec)

第一条数据的六 年 级存在空格,通过如下SQL查询,来验证是否存在空格:

mysql> select * from class where name like '% %';
+----+----------+-------+
| id | name     | no    |
+----+----------+-------+
|  1 | 六 年 级 | 20060 |
+----+----------+-------+
1 row in set (0.00 sec)

3. 解决问题


因为六 年 级是中间包含空格,可以使用replace去除空格,如下代码所示:

mysql> update `class` set `name`=replace(`name`,' ','') where name like '% %';Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0

Query OK, 0 rows affected (0.00 sec)表示已成功执行。

使用如下SQL查询,再次验证是否执行成功:

mysql> select * from class;
+----+--------+-------+
| id | name   | no    |
+----+--------+-------+
|  1 | 六年级 | 20060 |
|  2 | 七年级 | 20061 |
+----+--------+-------+
2 rows in set (0.00 sec)

4. 重要补充


上述是去除中间空格,如下为去除其他空格。

  1. ltrim去除左侧空格
update 表名 set 字段名=ltrim(字段名) 
  1. rtrim是去除右侧空格
update 表名 set 字段名=rtrim(字段名) 
  1. trim是去除两端空格
update 表名 set 字段名=trim(字段名) 
  1. 如果excel导表,不小心产生了空格,如下方法解决
update`表名`
set字 段 名 = replace(replace(replace(字 段 名, char(9), ''), char(10), ''),char(13),'');
  • char(9):水平制表符 (tab键 或者 \t
  • char(10):换行键 (\n
  • char(13):回车键 (Enter键)

这篇关于解决mysql去掉字段空格:中间空格,左侧空格,右侧空格,两端空格,水平制表符(tab键或者\t)空格,换行键(\n)空格,回车键(Enter键)空格的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/174340

相关文章

MySQL中的事务隔离级别详解

《MySQL中的事务隔离级别详解》在MySQL中,事务(Transaction)是一个执行单元,它要么完全执行,要么完全回滚,以保证数据的完整性和一致性,下面给大家介绍MySQL中的事务隔离级别详解,... 目录一、事务并发问题二、mysql 事务隔离级别1. READ UNCOMMITTED(读未提交)2

解决Java异常报错:java.nio.channels.UnresolvedAddressException问题

《解决Java异常报错:java.nio.channels.UnresolvedAddressException问题》:本文主要介绍解决Java异常报错:java.nio.channels.Unr... 目录异常含义可能出现的场景1. 错误的 IP 地址格式2. DNS 解析失败3. 未初始化的地址对象解决

MySQL Workbench工具导出导入数据库方式

《MySQLWorkbench工具导出导入数据库方式》:本文主要介绍MySQLWorkbench工具导出导入数据库方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝... 目录mysql Workbench工具导出导入数据库第一步 www.chinasem.cn数据库导出第二步

springboot+vue项目怎么解决跨域问题详解

《springboot+vue项目怎么解决跨域问题详解》:本文主要介绍springboot+vue项目怎么解决跨域问题的相关资料,包括前端代理、后端全局配置CORS、注解配置和Nginx反向代理,... 目录1. 前端代理(开发环境推荐)2. 后端全局配置 CORS(生产环境推荐)3. 后端注解配置(按接口

一文详解如何查看本地MySQL的安装路径

《一文详解如何查看本地MySQL的安装路径》本地安装MySQL对于初学者或者开发人员来说是一项基础技能,但在安装过程中可能会遇到各种问题,:本文主要介绍如何查看本地MySQL安装路径的相关资料,需... 目录1. 如何查看本地mysql的安装路径1.1. 方法1:通过查询本地服务1.2. 方法2:通过MyS

Mysql数据库中数据的操作CRUD详解

《Mysql数据库中数据的操作CRUD详解》:本文主要介绍Mysql数据库中数据的操作(CRUD),详细描述对Mysql数据库中数据的操作(CRUD),包括插入、修改、删除数据,还有查询数据,包括... 目录一、插入数据(insert)1.插入数据的语法2.注意事项二、修改数据(update)1.语法2.有

SQL Server中的PIVOT与UNPIVOT用法具体示例详解

《SQLServer中的PIVOT与UNPIVOT用法具体示例详解》这篇文章主要给大家介绍了关于SQLServer中的PIVOT与UNPIVOT用法的具体示例,SQLServer中PIVOT和U... 目录引言一、PIVOT:将行转换为列核心作用语法结构实战示例二、UNPIVOT:将列编程转换为行核心作用语

SQL 外键Foreign Key全解析

《SQL外键ForeignKey全解析》外键是数据库表中的一列(或一组列),用于​​建立两个表之间的关联关系​​,外键的值必须匹配另一个表的主键(PrimaryKey)或唯一约束(UniqueCo... 目录1. 什么是外键?​​ ​​​​2. 外键的语法​​​​3. 外键的约束行为​​​​4. 多列外键​

MySQL精准控制Binlog日志数量的三种方案

《MySQL精准控制Binlog日志数量的三种方案》作为数据库管理员,你是否经常为服务器磁盘爆满而抓狂?Binlog就像数据库的“黑匣子”,默默记录着每一次数据变动,但若放任不管,几天内这些日志文件就... 目录 一招修改配置文件:永久生效的控制术1.定位my.cnf文件2.添加核心参数不重启热更新:高手应

MySQL中SQL的执行顺序详解

《MySQL中SQL的执行顺序详解》:本文主要介绍MySQL中SQL的执行顺序,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql中SQL的执行顺序SQL执行顺序MySQL的执行顺序SELECT语句定义SELECT语句执行顺序总结MySQL中SQL的执行顺序