数据库学习之MySQL (九)—— 数学函数 字符串函数 CONCAT TRIM PAD

MySQL学习专栏 正在持续更新中:)

复习一下 前面学到的函数 LENGTH CONCAT

这些前面学到的函数我们之前用过的,另外类似下面的数学函数,这些函数名都是好多语言通用的。

名称 英文 中文 返回值
LENGTH(x) length 长度 字符串的字节数
CONCAT(x) concatenate 连接在一起的 拼接后的字符串
CONCAT_WS(x) concatenate with saparator 有连字符号 连接在一起的 带连字符号 拼接后的字符串
UPPER(x) uppercase 字母大写形式 字符串所有字母转大写形式
LOWER(x) lowercase 字母小写形式 字符串所有字母转小写形式

长度这个概念,一般都指的是字符长度,代指字节长度的只有LENGTH()
注意 字节数与字符集有关,看下面的案例:
SELECT LENGTH('sdf'), LENGTH('阮菜鸡2333');
在这里插入图片描述
UTF-8的字符集 一个汉字 = 3 byte; 一个字母 数字 = 1 byte;

那么如何查看属性的字符集(DDL定义的时候要指定的)?
还记得第二篇 我们可以通过更改my.ini的内容(变量键值对)来更改字符集
在这里插入图片描述
character-set-server其实也是MySQL的,类似环境变量一样的东西,于是我们就可以在 **变量(VARIABLES)**中去查找。
SHOW VARIABLES LIKE '%char%';
在这里插入图片描述
这些就是my.ini的变量及其值,可见 字符集(character-set) 无论是server client system都是utf8.

数学函数 ABS CEIL FLOOR ROUND POW

这些数学的函数其实我们都很熟悉的,如果不熟,可以看看他的英语,方便六级考研不说,也能记得更清楚。因为数学函数都是公共的标准,无论是类C 咖啡 py js 还是matlab 都是基本是适用的,记了不亏。

名称 英文 中文 返回值
ABS(x) absolute 绝对的 x的绝对值
CEIL(x) ceil 天花板 大于 x 的最小整数值(x的天花板)
FLOOR(x) floor 地板 小于 x 的最大整数值(x的地板)
MOD(x,y) Module Operation 取模运算 x/y 的模
RAND(x) random 随机 0~1的随机值
ROUND(x,y) round “圆润” x 的四舍五入(才变的圆润)(有y位的小数)
TRUNCATE(x,y) truncate 截断 掐头去尾 数字x截断为y位小数的结果
SQRT(x) square root 开平方 x的平方根
POW(x,y) power 次方 x的y次方(n次方很power)

常用字符串函数 SUBSTR REPLACE INSERT

除了我们之前学的 还有些新的,都可以试一试玩一下哈。

名称 英文 中文 返回值
LENGTH(x) length 长度 字符串的字节数
CHAR_LENGTH(x) length 长度 字符串的字符数
CONCAT(x) concatenate 连接在一起的 拼接后的字符串
CONCAT_WS(x) concatenate with saparator 有连字符号 连接在一起的 带连字符号 拼接后的字符串
UPPER(x) uppercase 字母大写形式 字符串所有字母转大写形式
LOWER(x) lowercase 字母小写形式 字符串所有字母转小写形式
SUBSTR(s,start,length) subscript 下标 索引 s字符串中,start索引开始,截取length字符长度的字符串
INSTR(string,s) subscript 下标 索引 string字符串中,第一个有s字符串子串的索引
LEFT(s,n) left 左边 返回字符串s最左边的n个字符
RIGHT(s,n) right 右边 返回字符串s最右边的n个字符
REPLACE(str, a, b) replace 替换 用字符串b替换字符串str中所有出现的字符串a
REPEAT(str, n) repeat 重复 返回str重复n次的结果
STRCMP(s1,s2) compare 比较 比较字符串s1,s2(ASCII 同c语言的strcmp())
INSERT(str, index , len, instr) insert 插入 将字符串str从第 index 位置开始,len个字符长的子串替换为instr

实例:
在这里插入图片描述
在这里插入图片描述

TRIM函数

trim一类的函数 我们分开看看:

名称 英文 中文 返回值
TRIM(string) trim 修剪 去掉string左右两边的空格
LTRIM(string) left trim 修剪 去掉string左边的空格
RTRIM(string) right trim 修剪 去掉string右边的空格
TRIM( childStr FROM string) trim 修剪 去掉string左右两边的子串childStr
TRIM(LEADING childStr FROM string) LEADING 领先的 去掉string前边的子串childStr
TRIM(TRAILING childStr FROM string) TRAILING 末尾的 去掉string后边的子串childStr

其实就一句话:select childStr from string 从string中剔除childStr
实例:
在这里插入图片描述

PAD函数

既然trim是修剪,那么有没有补缺的呢?有!pad(padding)

名称 英文 中文 返回值
LPAD(str, len, pad) left 左边 用字符串pad对str最边进行填充,直到str的长度为len个字符
RPAD(str ,len, pad) right 右边 用字符串pad对str最边进行填充,直到str的长度为len个字符

预告

单行函数还不止这些,尤其是流程控制函数,是需要重点掌握的,其他的查表就行。那就
下一站:数据库学习之MySQL (十)—— 日期和时间函数 流程控制函数

发布了12 篇原创文章 · 获赞 8 · 访问量 557

猜你喜欢

转载自blog.csdn.net/weixin_43178828/article/details/104077900