目录
一.日期函数
1.current_date()
2.current_time()
3.current_stamp()
4.date_add()
5.date_sub()
6.datediff
7.date
8.now
二.字符串函数
1.charset()
2.concat()
3.length()
4.replace
5.substring(str,postion,length)
6.instr(string,substring)
7.ucase && lcase
8.ltrim && rtrim && trim
三.数学函数
1.abs
2.ceiling && floor
3.format(num,size)
4.rand()
四.其它函数
1.user()
2.md5(str)
3.database()
4.password()
5.ifnull(val1, val2)
获取年月日:
获得时分秒:
获得时间戳:
在日期的基础上加日期:在23-1-1加上50天。
在日期的基础上减去时间:2023-2-20减去50天:
计算两个日期之间相差多少天:计算建国至2023-12-22一共多少天
返回datetime的日期部分:
获取当前的日期和时间:
案例:
留言板小案例:
显示所有名称,信息,和时间(时间只显示日期):
select name,content,date(sendtime) from mes;
查看两个小时之前的评论:
select name,content,sendtime from mes where sendtime>date_sub(now(),interval 2 hour);
返回字符串的字符集:
格式化显示留言板信息:格式:name说:"content",时间:sendtime;
select concat(name,'说:"',content,'"',',时间:',sendtime) from mes;
注意:length函数返回字符串长度,以字节为单位。如果是多字节字符则计算多个字节数;
如果是单字节字符则算作一个字节。比如:字母,数字算作一个字节,中文表示多个字节数
(与字符集编码有关)
将EMP表中所有名字中有S的替换成 '666' :
select ename,replace(ename,'S','666') from emp;
从str中的postion位置开始提取length个字符
返回substring 在string中位置,默认从1开始,没有找到返回0.
大小写转换:
去除空格:
案例:
取绝对值
对num保留size位小数,四舍五入。
生成随机数
值得注意的是:生成的随机数范围在0-1之间。如果我们想要1-100之间的随机数,可以乘100;
5.bin && hex && conv
进制转换函数
bin:湿巾纸转二进制
hex:转换成十六进制
conv(num,from_base,to_base):将num从from_base进制转换成to_base。
5.mod ()
取余函数
查询当前用户
对一个字符串进行md5摘要,摘要后得到一个32位字符串.
这个md5摘要就是,https里面CA机构对服务端申请的证书明⽂数据进⾏hash,形成数据摘要,用的可能就是md5。
显示当前正在使用的数据库
函数,MySQL数据库使用该函数对用户加密:
说明:在数据库中绝对不用明文存储用户的密码,绝对存储的都是经过password函数计算过的值,当前端页面接收到用户密码的时候,经过password函数计算后在服务器端进行比对。
如果val1为null,返回val2,否则返回val1的值