数据库学习之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 (十)—— 日期和时间函数 流程控制函数

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值