前言:整理图书数据,由于图书数据之前没有经过人工矫正爬取完成后直接导入数据库而且数据源很多,无奈只好整理数据。 错误数据展示: 正常应显示数据: 其实说白了就是MySql截取字符 先看下这个SUBSTR(); 其实给的提示很明显 str 就是string字符呗varchar类型 字符串截取这个函数很多语言都有,但细节有偏差。mysql这个是以1为起始值 2.substr( str:varchar from pos:int ) 3.substr( str:varchar , pos:int , len:int) 4.substr( str:varchar from pos:int for len:int ) 字符串截取常用函数,和其他语言的字符串截取差不多没什么特殊之处 上个SUBSTR()的兄弟单位,如下图4个方法一模一样直接看第5个 比兄弟单位SUBSTR()多了一个 trim(),可不仅仅只能去空格 trim([{both | leading | trailing}] [remstr:varchar] from str:varchar), 未完待续。。。
小马宝莉2018年第2集(总第16集)【大师计划】(4月刊)
李敖回忆录(大师珍藏版)【当当全国独家】
【正版全新直发】宫泽贤治小森林童话:水仙月四日 宫泽贤治,田诚 绘,彭懿 海豚传媒出品 长江少年儿童出版社9787556078530
小马宝莉
李敖回忆录
宫泽贤治小森林童话:水仙月四日
下面是我的一些思路,欢迎大佬指定提出更优方案
在此附上MySql中文文档地址一、MySQL函数之SUBSTR()
1.简介
pos就是postion呗int类型,下面挨个试一下
1.substr( str:varchar , pos:int )select BOOK_NM from ma_book where ID = 1788925; 【正版全新直发】宫泽贤治小森林童话:水仙月四日 宫泽贤治,田诚 绘,彭懿 海豚传媒出品 长江少年儿童出版社9787556078530
select SUBSTR(BOOK_NM,1) from ma_book where ID = 1788925; 【正版全新直发】宫泽贤治小森林童话:水仙月四日 宫泽贤治,田诚 绘,彭懿 海豚传媒出品 长江少年儿童出版社9787556078530 select SUBSTR(BOOK_NM,INSTR(BOOK_NM,'】')+1) from ma_book where ID = 1788925; 宫泽贤治小森林童话:水仙月四日 宫泽贤治,田诚 绘,彭懿 海豚传媒出品 长江少年儿童出版社9787556078530
这个没什么说的和上面的用法一样只是逗号换成了fromselect SUBSTR(BOOK_NM FROM INSTR(BOOK_NM,'】')+1) from ma_book where ID = 1788925; 宫泽贤治小森林童话:水仙月四日 宫泽贤治,田诚 绘,彭懿 海豚传媒出品 长江少年儿童出版社9787556078530
len就是length长度呗,指的是截取的长度select SUBSTR(BOOK_NM , INSTR(BOOK_NM,'】')+1 ,10) from ma_book where ID = 1788925; 从第九个开始截取十个 宫泽贤治小森林童话:
同理只是换了种写法select SUBSTR(BOOK_NM FROM INSTR(BOOK_NM,'】')+1 FOR 10) from ma_book where ID = 1788925; 宫泽贤治小森林童话:
2.小结
二、MySQL函数之SUBSTRING()
1.简介
substring_index(str:varchar , delim:varchar , count:int)
delim 即分割符,新知识点,下面我试一下#以分隔符】为例当count为0时结果集为0 select SUBSTRING_INDEX(BOOK_NM , '】' ,0) from ma_book where ID = 1788925; #以分隔符】为例当count为1时结果集为分割符左边所有字符 select SUBSTRING_INDEX(BOOK_NM , '】' ,1) from ma_book where ID = 1788925; 【正版全新直发 #以分隔符】为例当count大于1时结果集为原值 select SUBSTRING_INDEX(BOOK_NM , '】' ,2) from ma_book where ID = 1788925; 【正版全新直发】宫泽贤治小森林童话:水仙月四日 宫泽贤治,田诚 绘,彭懿 海豚传媒出品 长江少年儿童出版社9787556078530 #以分隔符】为例当count等于-1时结果集为分割符右边所有字符 select SUBSTRING_INDEX(BOOK_NM , '】' ,-1) from ma_book where ID = 1788925; 宫泽贤治小森林童话:水仙月四日 宫泽贤治,田诚 绘,彭懿 海豚传媒出品 长江少年儿童出版社9787556078530 #以分隔符】为例当count小于-1时结果集为原值 select SUBSTRING_INDEX(BOOK_NM , '】' ,-2) from ma_book where ID = 1788925; 【正版全新直发】宫泽贤治小森林童话:水仙月四日 宫泽贤治,田诚 绘,彭懿 海豚传媒出品 长江少年儿童出版社9787556078530
小结
substring_index(str:varchar , delim:varchar , count:int)三、MySQL函数之TRIM()
简介
1.trim(str:varchar)
去掉左右空格
2.trim([{both | leading | trailing}] [remstr:varchar] from str:varchar)
去掉两边、左边、右边限定符
3.Ltrim(str:varchar)
去掉左边空格
4.Rtrim(str:varchar)
去掉右边空格#1.去掉字符串最左边的限定符【正版全新直发】 select trim(LEADING '【正版全新直发】' FROM BOOK_NM ) from ma_book where ID = 1788925; 宫泽贤治小森林童话:水仙月四日 宫泽贤治,田诚 绘,彭懿 海豚传媒出品 长江少年儿童出版社9787556078530 #2.去掉字符串最右边的限定符【正版全新直发】 select trim(TRAILING'【正版全新直发】' FROM BOOK_NM ) from ma_book where ID = 1788925; #3.去掉字符串两边的限定符【正版全新直发】 select trim(BOTH '【正版全新直发】' FROM BOOK_NM ) from ma_book where ID = 1788925;
小结
是一大亮点,今天在去空格时偶然发现还有这个方法。四、MySQL之REGEXP
五、正文数据处理
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算