MySQL -- 内置函数

MySQL -- 内置函数

文章目录


一、日期函数

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的值,相当于一个三目运算符;

相关推荐
倔强的石头_15 小时前
kingbase备份与恢复实战(二)—— sys_dump库级逻辑备份与恢复(Windows详细步骤)
数据库
jiayou642 天前
KingbaseES 实战:深度解析数据库对象访问权限管理
数据库
于眠牧北2 天前
MySQL的锁类型,表锁,行锁,MVCC中所使用的临键锁
mysql
李广坤3 天前
MySQL 大表字段变更实践(改名 + 改类型 + 改长度)
数据库
Turnip12024 天前
深度解析:为什么简单的数据库"写操作"会在 MySQL 中卡住?
后端·mysql
爱可生开源社区4 天前
2026 年,优秀的 DBA 需要具备哪些素质?
数据库·人工智能·dba
随逸1774 天前
《从零搭建NestJS项目》
数据库·typescript
加号35 天前
windows系统下mysql多源数据库同步部署
数据库·windows·mysql
シ風箏5 天前
MySQL【部署 04】Docker部署 MySQL8.0.32 版本(网盘镜像及启动命令分享)
数据库·mysql·docker
李慕婉学姐5 天前
Springboot智慧社区系统设计与开发6n99s526(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端