MySQL -- 内置函数
文章目录
- [MySQL -- 内置函数](#MySQL -- 内置函数)
- 一、日期函数
-
- 1.current_date()获取年月日
- 2.current_time()获取时分秒
- [3.current_timestamp() / now()获得时间戳](#3.current_timestamp() / now()获得时间戳)
- 4.date_add()在日期的基础上加日期
- 5.date_sub()在日期的基础上减去日期
- [6. datediff()计算两个日期之间相差多少天](#6. datediff()计算两个日期之间相差多少天)
- 7.案例
- 二、字符串函数
-
- 1.charset()获取某列字符集
- 2.concat()字符串拼接
- 3.length()返回字符串占用字节数
- 4.replace()进行字符替换
- 5.substring()返回字符串的子串
- [6.ucase() / lcase()返回转换大小写结果](#6.ucase() / lcase()返回转换大小写结果)
- 7.instr()检查是否存在目标子串
- 8.strcmp()逐字符比较两字符串大小
- 9.left()从左起取n个字符
- [10.ltrim() / rtrim() / trim()去除空格](#10.ltrim() / rtrim() / trim()去除空格)
- 三、数学函数
-
- 1.abs()返回绝对值
- [2.ceiling()向上取整 / floor()向下取整](#2.ceiling()向上取整 / floor()向下取整)
- 3.format()保留小数位数
- 4.rand()产生随机数
- 5.conv()进制转换
- 6.hex()转换成十六进制
- 7.mod()取模
- 四、其他函数
一、日期函数
1.current_date()获取年月日
current_date()函数获取年月日;
2.current_time()获取时分秒
current_time()函数获取时分秒;
3.current_timestamp() / now()获得时间戳
current_timestamp()函数获取时间戳(年月日 时分秒);
now()函数也可以获取时间戳:
4.date_add()在日期的基础上加日期
date_add()函数可以在日期的基础上加日期;
5.date_sub()在日期的基础上减去日期
date_sub()函数可以在日期的基础上减去日期;
6. datediff()计算两个日期之间相差多少天
datediff()函数可以计算两个日期之间相差多少天;
7.案例
- 案例一:生日表
添加当前日期:
- 案例二:留言表
插入数据:
查询在两分钟内发布的贴子:
二、字符串函数
1.charset()获取某列字符集
2.concat()字符串拼接
要求显示exam_result表中的信息,显示格式:"XXX的语文是XXX分,数学XXX分,英语XXX分":
3.length()返回字符串占用字节数
- 注意:length函数返回字符串长度,以字节为单位 ;如果是多字节字符则计算多个字节数;
如果是单字节字符则算作一个字节;比如:字母,数字算作一个字节,中文表示多个字节数(与字符集编码有关)
4.replace()进行字符替换
将name中所有的刘替换成张:
5.substring()返回字符串的子串
返回name中的第二个到第三个字符:
- 注:substring中字符串的下标是从1开始的;
- substring的单位是字符,不是字节,一个汉字也是一个字符;
返回qq中第4个字符之后的内容:
- substring第三个参数不传参,代表直接取到字符串尾;
6.ucase() / lcase()返回转换大小写结果
以首字母小写方式显示所有员工姓名:
7.instr()检查是否存在目标子串
instr (string, substring)返回substring在string中出现的位置,没有返回0;
- 注:这些函数都可以出现在where后作为筛选条件;
列出所有名字中带A的员工信息:
8.strcmp()逐字符比较两字符串大小
比较结果:
列出工作为'CLERK'的员工信息:
9.left()从左起取n个字符
left(string2,length)从Istrin2中的左边起取length个字符;
10.ltrim() / rtrim() / trim()去除空格
ltrim()去除字符串左边的所有空格;
rtrim()去除字符串右边的所有空格;
trim()去除字符串两边的所有空格;
三、数学函数
1.abs()返回绝对值
2.ceiling()向上取整 / floor()向下取整
3.format()保留小数位数
格式化,保留n位小数(四舍五入);
4.rand()产生随机数
-
产生随机数的范围值[0, 1.0);
-
产生0 - 100的随机数:
5.conv()进制转换
conv(number, from_ base, to_ base)
- 10进制与2进制相互转换:
6.hex()转换成十六进制
7.mod()取模
四、其他函数
1.user()查询当前用户
在mysql的数据库中,有一个名为mysql的数据库,其中有一个user的表:
user表中存放着登陆用户的信息:
包含着用户的各种权限;user()函数其实就是查询这个表;
对用户管理的本质就是对这张表进行增删查改;
2.md5()对一个字符串进行md5摘要
得到的md5摘要是一个32位字符串;
- md5()函数一般用于密码存储:
密码的比较本质是对摘要的比较;
3.database()显示当前正在使用的数据库
4.password()函数返回用户密码
MySQL数据库使用该函数对用户加密
5.ifnull()
ifnull(val1, val2):如果val1为null, 返回val2,否则返回val1的值,相当于一个三目运算符;