在Excel中数据清洗很常见,数据不清洗都不能用,其实在数据库中,数据清洗也很简单,让我们一起来看看吧
 目录 

1)清除空格:LTRIM() \ RTRIM() \ TRIM
2)大小写转化:UPPER() \ LOWER()
3)取指定字符串 \ 查找字符串位置SUBSTRING() \ LOCATE()
4)数据替换:REPLACE()
5)字符串合并:CONCAT() \ CONCAT_WS

接下来的讲解为案例输出,是个没有感情的写码机器人,加油喔!




01  清除空格

1)LTRIM(字符串):清除前空格
2)RTRIM(字符串):清除后空格
3)TRIM(字符串):清除前后空格

案例_演练 —— 清除空格
使用源(ftext)


代码:
SELECT *,
LTRIM(科目) as LTRIM, --  清除前空格
RTRIM(科目) as RTRIM, --  清除后空格
TRIM(科目) as TRIM   --  清除前后空格
FROM `ftext`
返回结果(代码可以左右滑动)





02  大小写转化

1)UPPER(字符串):转化为大写
2)LOWER(字符串):转化为小写

案例_演练  —— 大小写转化
使用源(ftext)



代码:SELECT *,
UPPER(name) as UPPER, --  转化为大写
LOWER(NAME) as LOWER  --  转化为小写
FROM `ftext`
返回结果(代码可以左右滑动)




03  取指定字符串 \ 查找字符串位置

1)SUBSTRING(字符串,起始位置,字符串长度):取指定位置字符串
2)LOCATE(查找字符,字符串):查找字符串位置

案例_演练 —— 利用函数提取室号码
使用源(ftext)



代码:
SELECT
   *,  LOCATE('元',room_stand) as 辅助位置,
     SUBSTRING(room_stand,LOCATE('元',room_stand)+1,3) as 室号码 
     FROM   
     `ftext`
返回结果(代码可以左右滑动)



讲解:

1)用 LOCATE()函数 先取出 “元” 的下标位置(这里下标1开始)——  结果返回3
2)然后 LOCATE()函数 返回的结果(+1) ,做为 SUBSTRING()函数 的第二参数(起始位置),因室号码都是3位数,所以 SUBSTRING()函数 的第三参数输入3(字符串长度)

04  数据替换

1)REPLACE(字符串,原字符,替换新字符):对字符串进行替换,类似于EXCEL替换功能

案例_演练 —— 利用函数将上海替换成北京
使用源(ftext)



代码:
SELECT   *,
  REPLACE(city,'上海','北京') as 已替换
  FROM
    `ftext`
返回结果(代码可以左右滑动)




05  字符串合并

1)CONCAT(字符串1,字符串2,……):普通合并
2)CONCAT_WS(分隔符,字符串1,字符串2,……):自定义分隔符合并

案例_演练 —— 利用函数将上海替换成北京
使用源(ftext)



代码:
SELECT   *,
  CONCAT(city,name) as CONCAT,
    CONCAT_WS("_",city,name) as CONCAT_WS
    from
      `ftext`
  返回结果(代码可以左右滑动)