本篇文章主要讲解通过SQL语句进行数据预处理的操作。包括正则表达式、数据的截取、分割以及注释查询内容。
1.将多属性字段分割成多个字段
示例数据:"中国 台湾",或者"中国/台湾",需要将"中国"和"台湾"提取出来形成新的两个字段。
这个时候就需要用到MySQL的substring_index(字段/字符串, 分割符, 位置)函数
代码:
SELECT SUBSTRING_INDEX('中国 台湾', ' ', 1) as 国家, SUBSTRING_INDEX('中国 台湾', ' ', -1) as 省市
结果为:
2.查询表格注释内容
当多字段存在时,单纯的观看列名不能直接理解该字段的含义,这个时候在数据库设计时,写好注释,然后查询注释就显得十分重要。
代码:
select COLUMN_NAME as 字段名,column_comment as 注释
from INFORMATION_SCHEMA.Columns where table_name='tel2';
显示结果:
3.MySQL正则表达式
适用条件:在数据清洗过程中,当我们需要查询某个字段中全含有数值或中文的记录时,使用like查询就显得不可行。所以这个时候就需要适用REGEXP()函数
使用说明: 字符串/字段 REGEXP '正则表达式'
返回值为0,1,分别代表False和True
中文、字母和数值型数据,分别为[u0391-uFFE5]、[a-z]|[A-Z]、[0-9]
代码:
SELECT '130A' REGEXP '[0-9]'
显示结果:
4.MySQL字符串的截取
格式:select substring(‘字符串’, 起始位置, 长度)
示例代码:
SELECT SUBSTRING('移动152',1,2)
返回值为:移动