MySQL函数学习(一)-----字符串函数
一、MySQL 字符串函数
| \ | 函 数 名 称 | 作 用 | 完 成 |
|---|---|---|---|
| 1 | LENGTH |
计算字符串字节长度 |
勾 |
| 2 | CONCAT |
合并字符串函数,返回结果为连接参数产生的字符串,参数可以是一个或多个 | 勾 |
| 3 | INSERT |
替换字符串函数 | 勾 |
| 4 | LOWER |
将字符串中的字母转换为小写 | 勾 |
| 4 | UPPER |
将字符串中的字母转换为大写 | 勾 |
| 5 | LEFT |
从左侧字截取符串,返回字符串左边的若干个字符 | 勾 |
| 5 | RIGHT |
从右侧字截取符串,返回字符串右边的若干个字符 | 勾 |
| 6 | TRIM |
删除字符串左右两侧的空格 | 勾 |
| 7 | REPLACE |
字符串替换函数,返回替换后的新字符串 | 勾 |
| 8 | SUBSTRING |
截取字符串,返回从指定位置开始的指定长度的字符换 | 勾 |
| 9 | REVERSE |
字符串反转(逆序)函数,返回与原始字符串顺序相反的字符串 | 勾 |
1. CHAR_LENGTH、CHARACTER_LENGTH、LENGTH、OCTET_LENGTH 、BIT_LENGTH、~~UNCOMPRESSED_LENGTH~~
以上函数唯一参数都为
字段名或字符串

CHAR_LENGTH等同于CHARACTER_LENGTH:用于计算字符串的字符长度LENGTH等同于OCTET_LENGTH: 用于计算字符串的字节长度BIT_LENGTH:用于计算字符串位数
在第一行中,“三体第二部 ”中一个汉字占三个字节,表一个字符,空格或数字字母也算一个字符,所以字符长度为6;
但空格或数字字母只占一个字节,所以字节长度为16(15 + 1);
位数没什么好说的,这里采用的是utf8,乘8;
2. CONCAT、CONCAT_WS、GROUP_CONCAT

CONCAT与CONCAT_WS都能拼接多个字符串。
CONCAT与CONCAT_WS的区别主要在于:- concat只是单纯的将各字符串连接出来,而concat_ws指定了唯一分隔符(第一个参数)
- 在mysql中,concat拼接数组中若有null值,则拼接字符串结果为null; 而concat_ws只会将null值的字符串忽略,最终拼接字符结果不会为null(除非拼接的全为null)。所以一般情况下能不使用concat就不使用concat,避免某字段值为null导致最终值为null

GROUP_CONCAT要搭配GROUP BY来使用,将某一分组的字段的所有拼接一起,可排序,可使用separator指定分隔符。 与concat_ws一样,若某字段为null,最终结果只会忽略该字段,不会为null。
3. INSERT
INSERT(str,pos,len,newstr):
str表处理的初始字符串,pos表从str的第几位开始插入,len表插入的长度,newstr表插入的字符串。

- 可以理解为该函数为,把str的第pos位~len为替换为newstr
- 当pos超过str长度时,会直接返回str作为结果。
- 当len超过str长度时,会将pos位往后的替换为newstr
LAST_INSERT_ID(): 获取最后插入的ID值
4. LOWER、UPPER
字符串大小写的相互转换

5. LEFT、RIGHT
取字符串从最左/右的若干各字符

6. TRIM
TRIM(BOTH FROM str)等同于TRIM(str)::删除左右俩侧空格
TRIM(LEADING FROM str)等同于LTRIM(str): 删除左侧空格
TRIM(TRAILING FROM str)等同于RTRIM(str): 删除右侧空格

7. REPLACE
REPLACE(str,from_str,to_str): 将str字符串中的from_str字符串替换为to_str

- from_str和to_str不能为null,否则直接返回结果值为null。
8. SUBSTRING
SUBSTRING(str,pos)等同于SUBSTRING(str from pos): 取str第pos个字符后的字符串
SUBSTRING(str,pos,len)等同于SUBSTRING(str from pos for len): 取str第pos个字符后长度为len的字符串

- pos为正数时表从第pos个字符开始取
- pos为负数时表从倒数第pos个字符开始取
SUBSTRING_INDEX(str,delim,count): delim为分隔符,取str第count个分隔符前字符串

9. REVERSE
REVERSE(str):反转字符串

MySQL函数学习(一)-----字符串函数的更多相关文章
- Mysql截取和拆分字符串函数用法
Mysql截取和拆分字符串函数用法 截取字符串函数: SUBSTRING(commentid,9) 意思是:从第9个字符开始截取到最后.SUBSTRING的参数有三个,最后一个是截取的长度,默认是到结 ...
- xslt数值的函数与xslt字符串函数
以下是xslt数值的函数与xslt字符串函数的说明与参考示例. 1.xslt数值的函数:(1)fn:number(arg) 返回参数的数值.参数可以是布尔值.字符串或节点集. 示例:<xsl:v ...
- Excel函数学习:HLOOKUP函数
Excel函数学习:HLOOKUP函数 HLOOKUP函数查找表的第一行中的值,返回该表中与找到的值在同一列的另一个值. 什么情况下使用HLOOKUP? HLOOKUP函数可以在查找行中找到精确匹配值 ...
- mysql学习笔记--- 字符串函数、日期时间函数
一.常见字符串函数: 1.CHAR_LENGTH 获取长度(字符为单位) 2.FORMAT 格式化 3.INSERT 替换的方式插入 4.INSTR 获取位置 5.LEFT/RIGHT 取左 ...
- 【SQL】MySQL内置函数中的字符串函数和日期时间函数
字符串函数 --拼接字符串组成新的字符串 Select concat(‘A’,’B’); --返回字符串长度 Select length(“CAT”) --返回子字符串在字符串中首次出现的位置,没有返 ...
- C语言学习笔记--字符串函数
字符串函数 需要包含头文件#include<stdio.h> strlen strcmp strcpy strchr strstr strcasestr
- 数据库Mysql的学习(七)-自定义函数和流程控制
DELIMITER // (设置结束符 其实我也不太明白为啥要这样 记住就行把) CREATE FUNCTION ym_date(mydate DATE) (创建函数 函数名字(参数)) ) (指定函 ...
- Oracle截取字符串函数和查找字符串函数,连接运算符||
参考资料:Oracle截取字符串和查找字符串 oracle自定义函数学习和连接运算符(||) oracle 截取字符(substr),检索字符位置(instr) case when then else ...
- C/C++中经常使用的字符串处理函数和内存字符串函数
一. 字符处理函数 1. 字符处理函数:<ctype.h> int isdigit(int ch) ;//是否为数字,即ch是否是0-9中的字符 int ...
随机推荐
- JS根据日期获取判断星期几
/** * 根据日期字符串获取星期几 * @param dateString 日期字符串(如:2020-05-02) * @returns {String} */ function getWeek(d ...
- c++内存分布之纯虚函数
关于 本文演示环境:VS2017+32位程序. 纯虚函数是一种特殊的虚函数.可以预测到:虚函数的结论同样适用纯虚函数,但是纯虚函数是一种特殊的存在,还是看看实际结果. 代码写的不够规范: 因为任何带虚 ...
- Anti-prime Sequences
Anti-prime Sequences Time Limit: 3000MS Memory Limit: 30000K Total Submissions: 3355 Accepted: 1 ...
- TKE用户故事 | 作业帮检索服务基于Fluid的计算存储分离实践
作者 吕亚霖,2019年加入作业帮,作业帮基础架构-架构研发团队负责人,在作业帮期间主导了云原生架构演进.推动实施容器化改造.服务治理.GO微服务框架.DevOps的落地实践. 张浩然,2019年加入 ...
- 基于Spring MVC + Spring + MyBatis的【外包人力资源管理系统】
资源下载:https://download.csdn.net/download/weixin_44893902/45600390 练习点设计:模糊查询.删除.新增 一.语言和环境 实现语言:JAVA语 ...
- 编写Java程序,定义士兵类(Soldiers)并初始化5个士兵对象。
返回本章节 返回作业目录 需求说明: 创建士兵类(Soldiers),定义有一个String类型参数name,代表士兵的姓名,两个int类型变量x和y,分别表示士兵所在的坐标位置,x代表横坐标,y代表 ...
- Java中常见的转义字符
转移字符对应的英文是escape character , 转义字符串(Escape Sequence)字母前面加上捺斜线"\"来表示常见的那些不能显示的ASCII字符.称为转义字 ...
- 编写Java程序,以树形结构显示国家-直辖市/省/州信息
返回本章节 返回作业目录 需求说明: 以树形结构显示国家-直辖市/省/州信息 实现思路: 创建显示树形结构的类Tree,在该类中定义Map类型的全局实例属性countryMap,该Map集合用于存放所 ...
- 【Warrior刷题笔记】力扣169. 多数元素 【排序 || 哈希 || 随机算法 || 摩尔投票法】详细注释 不断优化 极致压榨
题目 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/majority-element/ 注意,该题在LC中被标注为easy,所以我们更多应该关 ...
- Java中的对象、类、抽象类、接口的理解
1.对象 对象是个具体的东西,有着明确的属性特征和行为特征. 例如:你手上牵着的女朋友或男朋友就是个具体的对象. 如图中的苏格兰折耳猫,特征是耳朵向下呈折叠状,有着具体的颜色(你看到的颜色),并且和其 ...