【MySQL】内置函数

发布于:2024-04-03 ⋅ 阅读:(115) ⋅ 点赞:(0)

【MySQL】内置函数

作者:爱写代码的刚子

时间:2024.4.1

前言:本篇博客将会介绍mysql中的内置函数

日期函数

函数名称 描述
current_date() 当前日期
current_time() 当前时间
current_timestamp() 当前时间戳
date(datetime) 返回datetime参数的日期部分
data_add(date,interval d_value_type) 在date中添加日期或者时间,interval后的数值单位可以是:year minute second day
data_sub(date,interval d_value_type) 在date中减去日期或者时间interval后的数值单位可以是:year minute second day
datediff(date1,date2) 两个日期的差,单位是天(date1 - date2)
now() 当前日期时间
  • 获取年月日

在这里插入图片描述

  • 获取时分秒

在这里插入图片描述

  • 获取时间戳

在这里插入图片描述

  • 提取出日期

在这里插入图片描述

  • 从当前时间中提取日期

在这里插入图片描述

  • 在日期的基础上加日期:
    在这里插入图片描述

在这里插入图片描述

  • 在日期的基础上减去时间:

在这里插入图片描述

  • 计算两个日期之间相差多少天:

在这里插入图片描述

案例:

  • 创建一张表,记录生日

在这里插入图片描述

  • 添加当前日期

在这里插入图片描述

不管是时分秒还是时间戳,都能显示出日期:

在这里插入图片描述

案例:

  • 创建一个留言表

在这里插入图片描述

  • 插入数据

在这里插入图片描述

  • 显示所有留言信息,发布日期只显示日期,不用显示时间

在这里插入图片描述

  • 请查询在2分钟内发布的帖子

在这里插入图片描述

在这里插入图片描述

字符串函数

函数名称 描述
charset(str) 返回字符串字符集
concat(string2 [,…]) 连接字符串
instr(string,substring) 返回substring在string中出现的位置,没有返回0
ucase(string2) 转换成大写
lcase(string2) 转换成小写
left(string2,length) 从string2中的左边起取length个字符
length(string) string的长度(实际是字节数,utf8中一个汉字占了3个字节)
replace(str, search_str,replace_str) 在str中用replace_str替换search_str
strcmp(string1,string2) 逐字符比较两字符串大小
substring(str, position [,length]) 从str的postion开始,取length个字符
ltrim(string) rtrim(string) trim(string) 去除前空格或后空格(不影响中间空格,用于数据清洗)

案例:

  • 获取emp表的ename列的字符集

在这里插入图片描述

  • **要求显示exam_result表中的信息,显示格式:“XXX的语文是XXX分,数学XXX分,英语XXX分” **

在这里插入图片描述

  • 求学生表中学生姓名占用的字节数

在这里插入图片描述

注意:length函数返回字符串长度,以字节为单位。如果是多字节字符则计算多个字节数; 如果是单字节字符则算作一个字节。比如:字母,数字算作一个字节,中文表示多个字节数 (与字符集编码有关)

  • 将EMP表中所有名字中有S的替换成’上海’。

在这里插入图片描述

这个替换并不更改数据库中原始的数据

  • 截取EMP表中ename字段的第二个到第三个字符

在这里插入图片描述

mysql中,字符串下标从1开始

第三个参数表示截取几个字符

  • 以首字母小写的方式显示所有员工的姓名

在这里插入图片描述

  • 去掉字符串的左边空格

在这里插入图片描述

数学函数

函数名称 描述
abs(number) 绝对值函数
bin(decimal_number) 十进制转换二进制
hex(decimalNumber) 转换为十六进制
conv(number, from_base,to_base) 进制转换
ceiling(number) 向上去整
floor(number) 向下去整
format(number, decimal_place) 格式化,保留小数位数
hex(decimalNumber) 转换成十六进制
rand() 返回随机浮点数,范围[0.0,1.0)
mod(number, denominator) 取模,求余
  • 绝对值

在这里插入图片描述

  • 向上取整(让数字变大)

在这里插入图片描述

在这里插入图片描述

  • 向下取整(让数字变小)

在这里插入图片描述

在这里插入图片描述

  • 保留2位小数位数(小数四舍五入)

在这里插入图片描述

  • 产生随机数

在这里插入图片描述

  • 对一个数进行取模运算

在这里插入图片描述

如果不理解一些数字取模后变成负数,不如理解一下取模的本质:除以一个数的到的余数,比如-10%-3 => -3*3 + -1=-10

其他函数

  • user()查询当前用户

在这里插入图片描述

  • md5(str)对一个字符串进行md5摘要,摘要后得到一个32位字符串

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

判断密码是否相等也需要md5函数:

在这里插入图片描述

  • database()显示当前正在使用的数据库

在这里插入图片描述

  • password()函数,MySQL数据库使用该函数对用户加密(数据库提供的一套更复杂的加密,常用,也是等长的)

在这里插入图片描述

  • ifnull(val1, val2) 如果val1为null,返回val2,否则返回val1的值

在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到