
MySQL中肯定要处理各种字符类型数据,掌握常用的字符函数时学习MySQL不可跨越的槛。
本文就整理下自己学习过程中的一些知识点。
工具/原料
MySQL 5.7
win10电脑
操作方法
先用一张图引出问题
图片中的漂亮的马儿就是通过各种字符(字母、括号、逗号、竖线等)画出来的。
我不由自主地会荡随沟去想下面几个问题
1)它到底有多少个字符?字符串长度
2)它里面的小写字母改成大写后视觉效果如何?大小写转换
3)有些地方的空格去掉会如何?去掉空格符
4)某些地方插入一些其他字符?填充字符
5)找到某个特定字符的位置?匹配字符位置

【1】计算字符串字符数CHAR_LENGTH(str)
【规则】返回字符串str中所包含的字符的个数。
【结论】一个英文字母和一个汉字都算作一个字符。

【2】计算字符串长度LENGTH(str)
【规则】计算str的长度。
【结论】英文字母与汉字的字符长度计算规则不一样。

【3】字母大小写 转换
1)LOWER(str)或LCASE(str)可以将str转化为小写字母;
2)UPPER(str)或UCASE(str)可以将str转化为大写字母。

【4】删除空格函数
1)删除左侧空格LTRIM(str)
2)删除右侧空格RTRIM(str)
3)删除两端空格盯肺裕财TRIM(str)

【5】填充字符串函数LPAD(s1,len,s2)
【规则】该函数返回字符串s1,其左侧由字符串s2填充,填充的长度为len。
如果s1的长度大于len,则返回值被缩短至len个字符。
【结论】
1)s1的长度大于len,则从s1从左侧开始截取len个字符作为返回值;
2)s1与s2的长度之和小于等于len,则将s2插入s1左侧后全部返回;
3)s1与s2的长度之和大于len,则将s2从左侧开始截取lenlength(s1)个数插入s1左侧后作为返回值。

【6】获取指定长度的字符
1)LEFT(str,len)返回字符串str最左边的len个字符;
2)RIGHT(str,len)返回字符串str最由边的len个字符。

【7】替换字符串的函数INSERT(s1,x,len,s2)
【规则】返回字符串s1,s1中起始于x位置、长度为len的子字符串将被s2取代。
如果x超过字符串长度,则返回值为s1;如果len的长度大于x位置后字符串的总长度,则从位置x开始替换。
若任何一个参数为,则返回值必定为。
【结论】x为负数也表示超出了字符串s1的长度。

总结
1、MySQL中常用的有7类字符串函数;2、所列举的函数解决了第一步提出的5大问题。