【MySQL】内置函数

文章目录

  • 1. 内置函数
    • 时间函数
    • 时间函数 具体样例
  • 2. 字符串函数
  • 3. 数学函数
    • 向上取整和向下取整
  • 4. 其他函数

1. 内置函数

时间函数

【MySQL】内置函数


【MySQL】内置函数

current_date() 表示 当前日期(年月日)


【MySQL】内置函数

current_time() 表示 当前时间(时分秒)


【MySQL】内置函数

current_timestamp() 表示 当前时间戳(以年月日、时分秒的形式表现出来)


【MySQL】内置函数

now() 表示 获取当前日期时间


【MySQL】内置函数

date(datetime) 在设定的时间中 提取对应的日期


【MySQL】内置函数

将 now函数 放入 date中 ,相当于输入当前 日期时间

可直接输出 当前日期 ,达到 与current_date 相同的效果


【MySQL】内置函数

在日期基础上加(时间或日期)

date_add(date,interval d_value_type) (interval后的数值单位 可以是 year minute second day)

输入 select date_add(‘2023-02-25’,interval 10 day);

表示 在 2023-02-25 日期的基础上 添加 10 天

最终 输出 2023-03-07


【MySQL】内置函数

在日期基础上减去(时间或日期)

date_sub(date,interval d_value_type) interval后的数值单位 可以是 year minute second day

输入 select date_sub(now(), interval 10 minute);

表示 在 当前日期时间 基础上 减去 10分钟

最终 输出 2023-10-27 18:16:39


【MySQL】内置函数

datediff(date1,date2)

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

用date1减去date2 ,返回正天数

若date2大,则返回负天数


时间函数 具体样例

【MySQL】内置函数

创建一张表 tmp,其内部包含 约束为主键 并且自增长 的 id 、 不为空的birthday


【MySQL】内置函数

由于id 为自增长,所以默认从1开始

插入 日期 ‘2001-02-25’ 和 ‘1990-01-01’ 以及 当前日期 都插入到 tmp表中


【MySQL】内置函数

插入当前时间、当前时间戳时,发现都显示为 当前日期

是因为 每个函数 都是带有 对应的日期的,但是在使用函数时 只会显示对应的功能


【MySQL】内置函数

所以为了更清楚的表示想要插入的数据

所以使用 date 提取对应的日期


【MySQL】内置函数

再次创建一张表msg,内部包含 约束为主键 自增长的id 、 不为空的评论内容、评论时间


【MySQL】内置函数

将 数据 插入到 msg表 中


查询 2分钟以内 发布的内容

【MySQL】内置函数

用 msg_time 表示 表中时间

用 curr_time 表示 当前时间

消息可分为 在2分钟以内 和 在2分钟以外

msg_time > curr_time-2 即 msg_time+2 > curr_time 表示表中时间在2分钟以内


【MySQL】内置函数

输入 select content,sendtime from msg where sendtime > date_sub(now(),interval 2 minute);

即可以查找到 在当前时间 2分钟以内的数据内容

2. 字符串函数

【MySQL】内置函数


【MySQL】内置函数

输入 select charset(‘abc’); 发现对应的编码格式为utf8


【MySQL】内置函数

输入 sekect concat(‘a’,‘b’); 将字符a与字符b连接起来,形成ab


【MySQL】内置函数

instr(string,substring) 返回substring 在string中出现的位置,没有返回

判断bc在abc中的位置,abc字符串的起始位置为1,由于第二个字符b处 就检测到bc存在,所以返回b所在位置 2


【MySQL】内置函数

使用 ucase 将abc 字符串 从小写转为大写


【MySQL】内置函数

使用 lcase ,将abc 字符串 从 大写转为 小写


【MySQL】内置函数

left(string,length) 从string字符串的左边起 取length个字符

如:在abcdef字符串中 取4个字符,成为abcd


【MySQL】内置函数

length(string) 求字符串的长度

如:abcde字符串 长度为5


【MySQL】内置函数

处于uft8编码格式下,一个汉字看作三个字节

abc 三个字符各占用一个字节

所以最终返回9个字节


【MySQL】内置函数

将当前表中 名字 带有s的 替换为上海


【MySQL】内置函数

replace (str,search_str,replace_str) 即 将str中的search_str 替换成 replace_str

输入 select replace(ename,‘S’,‘上海’) from emp; 将emp表中的ename 含有S的 全部替换成上海


【MySQL】内置函数

substring(str,postion,length) 即从str的postion开始 取length个字符

输入 select substring(ename,2,2) from emp; 截取emp表中ename字段的第二个到第三个字符

由于字符串下标从1开始,所以第2个字符 就要从2开始,共截取两个字符


【MySQL】内置函数

ltrim(string) 去除左侧的空格


【MySQL】内置函数

rtrim(string) 去除右侧的空格


【MySQL】内置函数

trim(string) 将左侧和右侧的空格都去除

3. 数学函数

【MySQL】内置函数


【MySQL】内置函数

abs(number) 对一个数取绝对值


【MySQL】内置函数

bin(decimal_number) 将一个十进制数 转换为 二进制


【MySQL】内置函数

hex(decimal_number) 转化为 十六进制


【MySQL】内置函数

conv(number,from_base,to_base) 将一个数 从一个进制 转换为 另一个进制

如:将10从10进制 转化为2进制 变为 110


【MySQL】内置函数

format(number,decimal_places) 格式化,保留小数位数

如:2.156保留位小数,通过四舍五入 ,输出 2.16


【MySQL】内置函数

rand() 返回随机浮点数 [ 0.0,1.0 )

虽然rand函数范围是0到1,但可在后面乘以一个数,如乘以10,则表示范围为0到10


【MySQL】内置函数

mod(number,denominator) 取模

如:5%2=1 余1,则输出1


向上取整和向下取整

【MySQL】内置函数

丢弃掉小数点后面的数据的方式 称为 0向取整


【MySQL】内置函数

只要有小数部分,就向变大的方向取整 称为 向上取整


【MySQL】内置函数

ceiling(number) 向上取整

如 输入 5.1 ,进行向上取整,则输出 6


【MySQL】内置函数

只要有小数部分,就向变小的方向取整 称为 向下取整


【MySQL】内置函数

floor(number) 向下取整

如:输入 4.9 进行向下取整,输出4


4. 其他函数

【MySQL】内置函数

输入 select user() 查询当前用户

root为用户名 , localhost为用户主机


【MySQL】内置函数

输入 select database() 查询当前在那个数据库中


【MySQL】内置函数

在数据库中,密码是不能明文保存的,所以不能直接插入

需要借助 md5(str) ,对str字符串进行md5摘要,摘要后得到32位字符串


【MySQL】内置函数

将密码 通过md5 进行插入,显示一个32位字符串


【MySQL】内置函数

输入 select password( 密码) ,mysql 会使用 password 函数 帮助形成 加密后的结果


【MySQL】内置函数

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

如:ab 不为空,则返回ab

本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://net2asp.com/d53bfabb6b.html