MySQL常用函数--字符串处理

这里整合了MySQL常用字符串截取函数,不逼逼,上代码

字符串截取 left(str, length) 从左到右
mysql> select left('jinanav666',6);
+----------------------+
| left('jinanav666',6) |
+----------------------+
| jinana               |
+----------------------+
字符串截取 right(str, length) 从右到左
mysql> select right('jinanav666',4);
+-----------------------+
| right('jinanav666',4) |
+-----------------------+
| v666                  |
+-----------------------+
字符串截取:substring(str, pos); substring(str, pos, len)
#从字符串的第 4 个字符位置开始取,直到结束。
mysql> select substring('jinanav666',4);
+---------------------------+
| substring('jinanav666',4) |
+---------------------------+
| anav666                   |
+---------------------------+
#从字符串的第 4 个字符位置开始取,只取 2 个字符。
mysql> select substring('jinanav666',4,2);
+-----------------------------+
| substring('jinanav666',4,2) |
+-----------------------------+
| an                          |
+-----------------------------+
#从字符串的第 4 个字符位置(倒数)开始取,直到结束 
mysql> select substring('jinanav666',-4);
+----------------------------+
| substring('jinanav666',-4) |
+----------------------------+
| v666                       |
+----------------------------+
#从字符串的第 4 个字符位置(倒数)开始取,只取 2 个字符。
mysql> select substring('jinanav666',-4,2);
+------------------------------+
| substring('jinanav666',-4,2) |
+------------------------------+
| v6                           |
+------------------------------+
字符串截取:substring_index(str,delim,count)
#截取第二个 ‘.’ 之前的所有字符。
mysql> select substring_index('www.jinanav.cn','.',2);
+-----------------------------------------+
| substring_index('www.jinanav.cn','.',2) |
+-----------------------------------------+
| www.jinanav                             |
+-----------------------------------------+
#截取第二个 ‘.’ (倒数)之后的所有字符。
mysql> select substring_index('www.jinanav.cn','.',-2);
+------------------------------------------+
| substring_index('www.jinanav.cn','.',-2) |
+------------------------------------------+
| jinanav.cn                               |
+------------------------------------------+
#如果在字符串中找不到 delim 参数指定的值,就返回整个字符串 
#截取一个表某个字段数据的中间值 如该字段数据为 1,2,3 
elect substring_index(substring_index(该字段, ‘,’, 2) , ‘,’, -1) from table;
字符串连接CONCAT(str1,str2,…) 返回来自于参数连结的字符串。如果任何参数是NULL,返回NULL。可以有超过2个的参数。一个数字参数被变换为等价的字符串形式
mysql> select concat('jinan','av','666');
+----------------------------+
| concat('jinan','av','666') |
+----------------------------+
| jinanav666                 |
+----------------------------+
计算字符串长度 length(str)
mysql> select length('sdfdsfwerzxcsadfwersdfsdxwesfsdfwerx') as len;
+-----+
| len |
+-----+
|  36 |
+-----+
locate(substr,str) position(substr in str) LOCATE(substr,str) POSITION(substr IN str)
mysql> select locate('str','XXXstr');
+------------------------+
| locate('str','XXXstr') |
+------------------------+
|                      4 |
+------------------------+
mysql> select position('str' IN 'subsdfsdfdsfstr');
+--------------------------------------+
| position('str' IN 'subsdfsdfdsfstr') |
+--------------------------------------+
|                                   13 |
+--------------------------------------+
lpad(str,len,padstr) 返回字符串str,左面用字符串padstr填补直到str是len个字符长。rpad则从右边算起
mysql> select lpad('jinanav',10,'$');
+------------------------+
| lpad('jinanav',10,'$') |
+------------------------+
| $$$jinanav             |
+------------------------+
#rpad
mysql> select rpad('jinanav',10,'$');
+------------------------+
| rpad('jinanav',10,'$') |
+------------------------+
| jinanav$$$             |
+------------------------+
去除左边,右边,两边空格用 ltrim(str),rtrim(str),trim(str)
space(N)返回由N个空格字符组成的一个字符串。
replace(str,from_str,to_str) 返回字符串str,其字符串from_str的所有出现由字符串to_str代替。
mysql> select replace('jinanStudy','Study','av');
+------------------------------------+
| replace('jinanStudy','Study','av') |
+------------------------------------+
| jinanav                            |
+------------------------------------+
repeat(str,count)返回由重复countTimes次的字符串str组成的一个字符串。如果count <= 0,返回一个空字符串。如果str或count是NULL,返回NULL。
mysql> select repeat('jinanavav',3);
+-----------------------------+
| repeat('jinanavav',3)       |
+-----------------------------+
| jinanavavjinanavavjinanavav |
+-----------------------------+
reverse(str)返回颠倒字符顺序的字符串str。
mysql> select reverse('jinanav666');
+-----------------------+
| reverse('jinanav666') |
+-----------------------+
| 666vananij            |
+-----------------------+
insert(str,pos,len,newstr)返回字符串str,在位置pos起始的子串且len个字符长得子串由字符串newstr代替。
mysql> select insert('jinanavStudy',1,3,'phper');
+------------------------------------+
| insert('jinanavStudy',1,3,'phper') |
+------------------------------------+
| phperanavStudy                     |
+------------------------------------+
elt(N,str1,str2,str3...)如果N= 1,返回str1,如果N= 2,返回str2,等等。如果N小于1或大于参数个数,返回NULL。elt()是field()反运算。相当于php $array['N']
field(str,str1,str2,str3,…) 返回str在str1, str2, str3, …清单的索引。如果str没找到,返回0。field()是elf()反运算。 相当于php array_search()
load_file(file_name) 读入文件并且作为一个字符串返回文件内容。文件必须在服务器上,你必须指定到文件的完整路径名,而且你必须有file权限。文件必须所有内容都是可读的并且小于max_allowed_packet。如果文件不存在或由于上面原因之一不能被读出,函数返回NULL。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,636评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,890评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,680评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,766评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,665评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,045评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,515评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,182评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,334评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,274评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,319评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,002评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,599评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,675评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,917评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,309评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,885评论 2 341

推荐阅读更多精彩内容