在Excel中数据清洗很常见,数据不清洗都不能用,其实在数据库中,数据清洗也很简单,让我们一起来看看吧1)清除空格:LTRIM() \ RTRIM() \ TRIM2)大小写转化:UPPER() \ LOWER()3)取指定字符串 \ 查找字符串位置:SUBSTRING() \ LOCATE()5)字符串合并:CONCAT() \ CONCAT_WS接下来的讲解为案例输出,是个没有感情的写码机器人,加油喔!


代码:
SELECT *,
LTRIM(科目) as LTRIM, -- 清除前空格
RTRIM(科目) as RTRIM, -- 清除后空格
TRIM(科目) as TRIM -- 清除前后空格
FROM `ftext`


代码:SELECT *,
UPPER(name) as UPPER, -- 转化为大写
LOWER(NAME) as LOWER -- 转化为小写
FROM `ftext`

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

代码:
SELECT
*, LOCATE('元',room_stand) as 辅助位置,
SUBSTRING(room_stand,LOCATE('元',room_stand)+1,3) as 室号码
FROM
`ftext`

1)用 LOCATE()函数 先取出 “元” 的下标位置(这里下标1开始)—— 结果返回32)然后 LOCATE()函数 返回的结果(+1) ,做为 SUBSTRING()函数 的第二参数(起始位置),因室号码都是3位数,所以 SUBSTRING()函数 的第三参数输入3(字符串长度)1)REPLACE(字符串,原字符,替换新字符):对字符串进行替换,类似于EXCEL替换功能

代码:
SELECT *,
REPLACE(city,'上海','北京') as 已替换
FROM
`ftext`

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

代码:
SELECT *,
CONCAT(city,name) as CONCAT,
CONCAT_WS("_",city,name) as CONCAT_WS
from
`ftext`

发表评论 取消回复