Mysql 从零开始(五)函数之字符串函数
来源:互联网 发布:淘宝入驻费用多少钱 编辑:程序博客网 时间:2024/05/16 17:59
一、计算字符串字符数的函数和字符长度的函数
1、char_length(str) 返回字符串str 所包含的字符个数。 一个多字节字符算作一个单字符如:char_length('中国') 结果为2. 2、length(str) 返回字符串str的字节长度。 使用UTF8编码时一个汉字是3个字节,一个数字或字母为一个字节如:length('中国')结果为6
二、合并字符串函数
1、concat(s1,s2,...)返回结果为多个参数连接产生的字符串; a)如果参数中有NULL,则结果为NULL; b)如果参数中有二进制字符串,则结果为二进制字符串。 2、concat_sw(x,s1,s2,...)第一个参数x是其他字符串的分隔符,位置在要连接的字符串之间,可以是一个字符串,也可以是其他参数。 a)如果分隔符为NULL,则结果为NULL; b)如果参数为NULL,结果中会忽略为NULL的参数。
三、替换字符串函数——insert(s1,x,len,s2)
把s1从第x位置起,长度为len的部分替换为s2。 例:SELECT INSERT('hello',2,2,'what')把hello从第2位开始(序号是从1开始而不是数组里面从0)长度为2的部分即'el'替换为'what',所以结果为hwhatlo。
四、字母大小写转换函数
lower(str)和lcase(str)把字符串中的字母字符全部转成小写。 upper(str)和ucase(str)把字符串中的字母字符全部转成大写。
五、获取指定长度的字符串函数
left(s,n)返回字符串开始最左边的n个字符。如:SELECT LEFT('helloworld',5)结果为hello; right(s,n)返回字符串开始最右边的n个字符。如:SELECT RIGHT('helloworld',5)结果为world。
六、填充字符串的函数
lpad(s1,len,s2)在字符串s1的左边填充s2,填充到len长度。如:SELECT LPAD('hello',10,'worldpace')结果为worldhello; rpad(s1,len,s2)在字符串s1的左边填充s2,填充到len长度。如:SELECT RPAD('hello',10,'ha')结果为hellohahah。
七、删除空格的函数
ltrim(s)删除字符串s左侧的空格。如:SELECT CONCAT('(',LTRIM (' hello ') ,')')结果为(hello ); rtrim(s)删除字符串s右侧的空格。如:SELECT CONCAT('(',RTRIM (' hello ') ,')')结果为( hello); trim(s)删除字符串s两侧的空格。如:SELECT CONCAT('(', TRIM(' hello ') ,')')结果为(hello)。 连接'('和')'是为了让空格显示出来。
八、删除指定字符串的函数
trim(s1 from s)删除字符串s两端所有的子字符串s1,s1为可选项,在未指定的情况下删除空格。如:SELECT TRIM('xy'FROM 'xyxboxyxxyxy')结果为xboxyx,两端的xy都被删除而中间的并不删除。
九、重复生成字符串的函数——repeat(s,n)
返回一个由字符串s重复n次组成的字符串。如果n<=0,则结果为空;如果s或n为null,结果为null。如:SELECT REPEAT('ha',3)结果为hahaha。
十、空格函数和替换函数
space(n)返回一个由n个空格组成的字符串。如:SELECT CONCAT('(',SPACE(5),')')结果为( )。 replace(s,s1,s2)使用字符串s2,替换字符串s中所有的s1。如:SELECT REPLACE('xxx.baidu.com','x','w')结果为www.baidu.com。
十一、比较字符串大小的函数 ——strcmp(s1,s2)
如果s1,s2所有字符都相同,结果为0,根据当前分类顺序,s1顺序在s2之前的话,返回-1,其他结果返回1。如:SELECT STRCMP('xxx','yaa')结果为-1。
十二、获取子字符串的函数
subString(s,n,len)若n为正数,则是从字符串s的第n位开始(包括第n位)长度为len的字符串; 若n为负数,则是从字符串尾部开始倒数第n个字符开始长度为len的字符串; 若len为空,则是到字符串结尾; 若len为负,则结果为null。 如:1、SELECT SUBSTRING('football',5)结果为ball 2、SELECT SUBSTRING('football',5,2)结果为ba 3、SELECT SUBSTRING('football',-4)结果为ball 4、SELECT SUBSTRING('football',-4,2)结果为ba mid(s,n,len)用法和作用和subString(s,n,len)完全一样
十三、匹配子串开始位置的函数
locate(str1,str)、position(str1 IN str)、instr(str,str1)三个函数作用相同都是返回子串str1在str中的开始位置。 如:1、SELECT LOCATE('hell','hello') 2、SELECT POSITION('hell' IN 'hello') 3、SELECT INSTR('hello','hell') 返回结果都为1,即子串在str中开始的位置。 如果子串在字符串中找不到返回结果为0。
十四、字符串逆序的函数——reverse(s)
把字符串s逆序。SELECT REVERSE('hello')结果为olleh
十五、返回指定位置的字符串的函数——elt(n,s1,s2,s3,…)
若n为1,返回s1; 若n小于1或者大于参数的个数,则返回null。 如:SELECT ELT(3,'a1','b2','c3') 结果为c3 SELECT ELT(3,'1a','2b')结果为null
十六、返回指定字符串位置的函数——field(s,s1,s2,s3,…)
返回字符串s在字符列表中第一次出现的位置。 若找不到s则返回结果为0; 若s为null则返回结果为0。 SELECT FIELD('3','1','2','3','3','3')返回结果为3
十七、返回子串位置的函数——find_in_set(s1,s2)
返回字符串s1,在字符串列表中第一次出现的位置。s2是一个以","分割开的字符串列表。 如果s1不在s2列表中或者s2为空字符串返回结果为0; 如果任意一个参数为null则返回结果为null; 如果s1中含有","则无法得到正确结果。 和field(s,s1,s2,s3,...)作用类似,都可以返回指定字符串在字符串列表中的位置。
十八、选取字符串的函数——make_set(x,s1,s2)
返回由x的二进制指定的相应位置的字符串组成的字符串,规则是一个数的二进制用四位数表示,把这个二进制倒序排列,和s1,s2...位置对应,对应1的取出,对应0的不要。 SELECT MAKE_SET(1,'a','b','c')1的二进制表示为0001,倒叙排列为1000,s1对应1 所以结果为a
0 0
- Mysql 从零开始(五)函数之字符串函数
- MYSQL学习笔记(五)之常用的字符串函数
- MySQL知识(五)——数学函数、字符串函数
- MySQL之字符串函数
- Mysql之字符串函数
- MySQL(基础篇)之MySQL函数(字符串函数)
- MySQL数据库学习笔记(五)----MySQL字符串函数、日期时间函数
- MySQL数据库学习笔记(五)----MySQL字符串函数、日期时间函数
- MYSQL自定义函数(五)
- MySQL字符串函数之字符串截取
- MySQL常用函数(一):字符串函数
- 字符串处理函数(五):strcmp
- C++精进篇(五)之―字符串和字符串函数
- MYSQL学习笔记(四)之常见的字符串函数
- MySQL笔记四之 字符串函数
- MySQL常用函数系列之二:字符串函数(2)
- MySQL常用函数系列之三:字符串函数(3)
- MySQL学习历程(五):各种函数
- 一个开发者账号,多台MAC同时使用
- C++写错误日志函数
- IOS添加pch全局引用文件(宏定义)
- 机场三字代码和四字代码的资料汇编
- python 字符编码
- Mysql 从零开始(五)函数之字符串函数
- 使用对象集合(通过Foundation框架使用OC处理字典,集合)
- VLFeat + VS2013+opencv 配置
- Multiple ways to access QEMU Machine Protocol (QMP)
- Java实现多线程多节点下载
- 初学web开发需要掌握哪些方面?
- postgresql 中分区表的创建及使用样例
- 蓝桥杯 字母金字塔
- 怎样成长为一个优秀的 Web 前端开发工程师?