目录
1.日期函数
1.1.常用的日期函数
1.2.current_date函数
1.3.current_time函数
1.4.current_timestamp函数
1.5.now函数
1.6.date函数
1.7.date_add函数
1.8.date_sub函数
1.9.datediff函数
1.10.综合案例
2.字符串函数
2.1.常用的字符串函数
2.2.charset函数
2.3.concat函数
2.4.instr函数
2.5.ucase函数
2.6.lcase函数
2.7.left函数
2.8.length函数
2.9.replace函数
2.10.strcmp函数
2.11.substring函数
2.12.ltrim、rtrim和trim函数
2.13.综合案例
3.数学函数
3.1.常用的数学函数
3.2.abs函数
3.3.bin函数
3.4.hex函数
3.5.conv函数
3.6.ceiling函数
3.7.floor函数
3.8.format函数
3.9.rand函数
3.10.mod函数
4.其他函数
4.1.user函数
4.2.md5函数
4.3.database函数
4.4.password函数
4.5.ifnull函数
1.日期函数
聚合函数只能出现在select语句中,而这里的日期函数既可以出现在select语句中,也可以出现在where筛选语句中。
1.1.常用的日期函数
常用的日期函数如下:
1.2.current_date函数
current_date函数用于获取当前的日期。如下:
1.3.current_time函数
current_time函数用于获取当前的时间。如下:
1.4.current_timestamp函数
current_timestamp函数用于获取当前的时间戳,以日期时间格式进行显示。如下:
1.5.now函数
now函数用于获取当前的日期时间。如下:
1.6.date函数
date函数用于获取当前的日期时间。如下:
1.7.date_add函数
date_add函数用于在日期的基础上添加日期或时间。如下:
如果在date_add函数中添加的日期/时间为负值,则相当于在日期的基础上减去日期/时间。如下:
1.8.date_sub函数
date_sub函数用于在日期的基础上减去日期或时间。如下:
如果在date_sub函数中减去的日期/时间为负值,则相当于在日期的基础上添加日期/时间。如下:
1.9.datediff函数
datediff函数用于获取两个日期的差,单位是天。如下:
1.10.综合案例
创建一个评论表,表中包含自增长的主键id、昵称、评论内容和评论时间。如下:
向表中插入一些数据,插入时直接通过now函数指明评论时间。如下:
在显示评论信息时,如果只想显示评论的日期而不显示评论的时间,可以在查询sendtime字段时,通过date函数截取sendtime的日期部分进行显示。如下:
再不定时向表中插入一些数据。如下:
在显示评论信息时,如果要查询2分钟内发布的评论信息,实际就是要筛选出评论时间加上2分钟后大于当前时间的评论,这时需要同时借助date_add和now函数。如下:
2.字符串函数
聚合函数只能出现在select语句中,而这里的字符串函数既可以出现在select语句中,也可以出现在where筛选语句中。
2.1.常用的字符串函数
常用的字符串函数如下:
2.2.charset函数
现有如下员工表,要求获取员工表中ename列使用的字符集。如下:
在查询员工表中的信息时,使用charset函数获取ename列使用的字符集即可。如下:
2.3.concat函数
现有如下成绩表,要求以“XXX的语文是XX分,数学是XX分,英语是XX分”的格式显示成绩表中的信息。如下:
在查询成绩表中的信息时,使用concat函数按要求进行字符串连接即可。如下:
2.4.instr函数
instr函数用于获取一个字符串在另一个字符串中首次出现的位置,如果没有出现则返回0。如下:
2.5.ucase函数
ucase函数用于获取转换成大写后的字符串。如下:
2.6.lcase函数
lcase函数用于获取转换成小写后的字符串。如下:
2.7.left函数
left函数用于从字符串的左边开始,向后截取指定个数的字符。如下:
2.8.length函数
length函数用于获取字符串占用的字节数。如下:
注:对于多字节字符来说,不同编码中一个字符所占的字节个数是不同的,比如utf8中一个字符占用3个字节,而gbk中一个字符占用2个字节。
2.9.replace函数
replace函数用于将字符串中的指定子字符串替换成另一个字符串,例如将员工表中所有名字中的“S”替换成“上海”。如下:
2.10.strcmp函数
strcmp函数用于逐字符按照ASCII码比较两个字符串的大小,两个字符串大小相等返回0,前者大返回1,后者大返回-1。如下:
需要注意的是,strcmp函数在比较时是不区分大小写的。如下:
2.11.substring函数
substring函数用于从字符串的指定位置开始,向后截取指定个数的字符。如下:
使用substring函数时,如果没有指定要截取的字符个数,则默认从指定位置开始截取到最后。如下:
例如截取员工表中ename字段的第二个到第三个字符。如下:
2.12.ltrim、rtrim和trim函数
trim函数用于去除字符串的前后空格。如下:
ltrim和rtrim函数分别用于去除字符串的前空格和后空格。如下:
2.13.综合案例
要求以首字母小写的方式显示员工表中所有员工的姓名,思路如下:
• 使用substring函数,截取员工姓名的第一个字符,然后使用lcase将其转换成小写。
• 使用substring函数,截取员工姓名的第二个字符及其后续字符。
• 使用concat函数,将第一次截取并转换成小写的首字母,和第二次截取的字符串进行连接。
最终concat函数连接后得到的字符串便是首字母小写的员工姓名。如下:
3.数学函数
聚合函数只能出现在select语句中,而这里的数学函数既可以出现在select语句中,也可以出现在where筛选语句中。
3.1.常用的数学函数
常用的数学函数如下:
3.2.abs函数
abs函数用于获取一个数的绝对值。如下:
3.3.bin函数
bin函数用于将一个十进制数转换成二进制。如下:
3.4.hex函数
hex函数用于将一个十进制数转换成十六进制。如下:
3.5.conv函数
conv函数用于将一个数从一个进制转换成另一个进制。如下:
3.6.ceiling函数
ceiling函数用于对一个数进行向上取整。如下:
需要注意的是,向上取整本质是向正无穷方向取整,因此负数向上取整后得到的是第一个大于等于该数的整数。如下:
3.7.floor函数
floor函数用于对一个数进行向下取整。如下:
需要注意的是,向下取整本质是向负无穷方向取整,因此负数向下取整后得到的是第一个小于等于该数的整数。如下:
3.8.format函数
format函数用于对数值进行格式化,以四舍五入的方式保留指定位数的小数。如下:
注:format函数执行后的数据就要进行输出显示了(可以理解为format函数执行后的数据就变为了字符串),不能再对format函数执行后的数据进行数值比较,如下图所示。
3.9.rand函数
rand函数用于生成0.0到1.0的随机浮点数。如下:
如果想要生成0到100的随机数,可以用生成的随机浮点数乘以100,然后再以某种取整方式进行取整。如下:
3.10.mod函数
mod函数用于对数值进行求余运算。如下:
4.其他函数
4.1.user函数
user函数用于获取MySQL连接的当前用户名和主机名。如下:
4.2.md5函数
md5函数用于对一个字符串进行md5摘要,摘要后得到一个32位字符串。如下:
拓展:
• 一般情况下公司内部数据库不会存储用户的明文密码,而会将用户密码形成摘要后存储对应的摘要,当用户登录账号时,将用户输入的的密码形成摘要后与数据库中存储的摘要做对比,如果对比成功则允许登录。
• 这么做的好处主要有两个,第一个好处就是公司内部数据库中存储的不是用户的明文信息,就算用户信息泄露了也不会产生太大影响,第二个好处就是形成的摘要是定长的,这样有利于数据库表结构的设计。
4.3.database函数
database函数用于显示当前正在使用的数据库。如下:
4.4.password函数
password函数用于对用户数据进行加密。如下:
注:password函数加密强度相比于md5函数的加密强度更高,mysql内部自己使用的就是password函数。
4.5.ifnull函数
ifnull函数接受两个参数,如果第一个参数不为null则返回第一个参数值,否则返回第二个参数值。如下:文章来源:https://www.toymoban.com/news/detail-497132.html
文章来源地址https://www.toymoban.com/news/detail-497132.html
到了这里,关于MySQL - 第7节 - MySQL内置函数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!