MySQL:表的内置函数

目录

[一. 日期函数](#一. 日期函数)

[二. 字符串函数](#二. 字符串函数)

[三. 数学函数​编辑](#三. 数学函数编辑)

[四. 其他函数](#四. 其他函数)


博客开始为各位读者介绍一个投递简历的平台:万码优才

专属于程序员的投递平台,大家快去试试吧!!!

此篇博客讲解MySQL中关于表的内置函数。内置函数广泛用于数据库查询语句中。

一. 日期函数








  • 例子一:创建一个样例表:


    类似于隐式转换,虽然这样可以但是不建议。

  • 例子二:创建一个留言表

    查询两分钟之内发布的帖子:
    msg_time>curr_time-2

    或者:

二. 字符串函数

  • 获取msg表的content列的字符集:

  • 要求显示exam_result表中的信息,显示格式:"XXX的语文是XXX分,数学XXX分,英语XXX分"
sql 复制代码
select concat(name, '的语文是',chinese,'分,数学是',math,'分') as '分数' from student;
  • 求学生表中学生姓名占用的字节数
sql 复制代码
select length(name), name from student;

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

  • 将EMP表中所有名字中有S的替换成'上海'
sql 复制代码
select replace(ename, 'S', '上海') ,ename from EMP;
  • 截取EMP表中ename字段的第二个到第三个字符
sql 复制代码
select substring(ename, 2, 2), ename from EMP;
  • 以首字母小写的方式显示所有员工的姓名
sql 复制代码
select concat(lcase(substring(ename, 1, 1)),substring(ename,2)) from EMP;

三. 数学函数

  • 绝对值
sql 复制代码
select abs(-100.2);
  • 向下取整
sql 复制代码
select floor(23.7);
  • 向上取整
sql 复制代码
select ceiling(23.04);
  • 保留2位小数位数(小数四舍五入)
sql 复制代码
select format(12.3456, 2);
  • 产生随机数
sql 复制代码
select rand();

四. 其他函数

  • user() 查询当前用户
sql 复制代码
select user();
  • md5(str)对一个字符串进行md5摘要,摘要后得到一个32位字符串
sql 复制代码
select md5('admin')
  • database()显示当前正在使用的数据库
sql 复制代码
select database();
  • password()函数,MySQL数据库使用该函数对用户加密
sql 复制代码
select password('root');
   +-------------------------------------------+
 | password('root')                         |
 +-------------------------------------------+
 | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
 +-------------------------------------------+
  • ifnull(val1, val2) 如果val1为null,返回val2,否则返回val1的值
sql 复制代码
select ifnull('abc', '123');
   +----------------------+
   | ifnull('abc', '123') |
   +----------------------+
   | abc                 |
   +----------------------+
   1 row in set (0.01 sec)
   
select ifnull(null, '123');
   +---------------------+
   | ifnull(null, '123') |
   +---------------------+
   | 123                 |
   +---------------------+
   1 row in set (0.00 sec)

总结:

好了,到这里今天的知识就讲完了,大家有错误一点要在评论指出,我怕我一人搁这瞎bb,没人告诉我错误就寄了。

祝大家越来越好,不用关注我(疯狂暗示)

相关推荐
jimy14 小时前
安卓里运行Linux
linux·运维·服务器
大布布将军4 小时前
⚡️ 深入数据之海:SQL 基础与 ORM 的应用
前端·数据库·经验分享·sql·程序人生·面试·改行学it
JIngJaneIL5 小时前
基于java+ vue农产投入线上管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot
爱凤的小光5 小时前
Linux清理磁盘技巧---个人笔记
linux·运维
源代码•宸5 小时前
goframe框架签到系统项目(BITFIELD 命令详解、Redis Key 设计、goframe 框架教程、安装MySQL)
开发语言·数据库·经验分享·redis·后端·mysql·golang
川贝枇杷膏cbppg5 小时前
Redis 的 AOF
java·数据库·redis
TG:@yunlaoda360 云老大5 小时前
如何在华为云国际站代理商控制台进行SFS Turbo的性能与容量核查?
服务器·网络·数据库·华为云
耗同学一米八6 小时前
2026年河北省职业院校技能大赛中职组“网络建设与运维”赛项答案解析 1.系统安装
linux·服务器·centos
ytttr8736 小时前
MATLAB基于LDA的人脸识别算法实现(ORL数据库)
数据库·算法·matlab
知星小度S6 小时前
系统核心解析:深入文件系统底层机制——Ext系列探秘:从磁盘结构到挂载链接的全链路解析
linux