Mysql内置函数篇

embedded/2025/3/29 5:44:37/

🏝️专栏:Mysql_猫咪-9527的博客-CSDN博客
🌅主页:猫咪-9527-CSDN博客 

“欲穷千里目,更上一层楼。会当凌绝顶,一览众山小。”

目录

7.函数

7.1 日期函数

函数总:​编辑

获得当前日期

获得当前时间

获得时间戳

在日期的基础上加日期

在日期的基础上减去日期

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

案例1:

案例二:

7.2 字符串函数

函数总:

获取表中列的字符集

格式化字符串

查找字符串所出现的位置

计算字符串字节长度

替换字符串中的字符

截取字符串的一部分

转换大小写

删除空格 

7.3 数学函数

绝对值

向上取整

向下取整

四舍五入保留小数位

产生随机数

7.4 其它函数

查询当前用户

MD5 摘要

显示当前数据库

密码加密

判断是否为 NULL


7.函数

7.1 日期函数

函数总:
  • 获得当前日期
    • select current_date(); 返回当前日期,格式为 YYYY-MM-DD
select current_date();
  • 获得当前时间
    • select current_time(); 返回当前时间,格式为 HH:MM:SS
select current_time();
select current_date();
select current_time();
  • 获得时间戳
    • select current_timestamp(); 返回当前的日期和时间,格式为 YYYY-MM-DD HH:MM:SS
select current_timestamp();
select now();
select current_timestamp();
select now();
  • 在日期的基础上加日期
    • select date_add('2017-10-28', interval 10 day); 将日期 2017-10-28 加上 10 天,返回结果为 2017-11-07
select date_add('2025-3-24',interval 17 day);
  • 在日期的基础上减去日期
    • select date_sub('2017-10-1', interval 2 day); 将日期 2017-10-01 减去 2 天,返回结果为 2017-09-29
select date_sub(now(),interval 10 day);
select date_add('2025-3-24',interval 17 day);
select date_sub(now(),interval 10 day);

  • 计算两个日期之间相差多少天
    • select datediff('2017-10-10', '2016-9-1'); 计算两个日期之间的差值,返回结果为 404 天。
select datediff('2025-2-24',now());

案例1:

创建一个生日表

create table birthday(
id int primary key auto_increment,
birthday date);

添加当前时间为生日:

insert birthday(birthday) values(current_date());

案例二:

创建一个评论表:

create table comments(
id int primary key auto_increment,
commtent varchar(200),
release_time datetime
);

 插入评论:

insert comments(commtent,release_time) values('千金散尽还复来',now());

 查找两分钟之前的评论:

7.2 字符串函数

函数总:

  • 获取表中列的字符集
  • select charset(ename) from EMP; 返回 ename 列的字符集。
select charset(ename) from emp;

  • 格式化字符串
    • select concat(name, '的语文是', chinese, '分,数学是', math, '分') as '分数' from exam_result; 将学生的成绩按照指定格式输出。
select concat(name,'的数学成绩是:',math,'的语文成绩是:',
chinese,',英语成绩是:',english) from exam_result;

  • 查找字符串所出现的位置
    • select instr(string,substring);查看substring在string中所出现的位置,成功返回第几个字符,失败返回0
select('aaaaa12345','12345');
select instr('aaaaa12345','12346');
  • 计算字符串字节长度
    • select length(name), name from exam_result; 获取 name 字段的字节长度(根据字符集不同,中文可能占多个字节)。
select name,length(name) from exam_result;

注:一个汉字在utf_8中占据3个字节

  • 替换字符串中的字符
    • select replace(ename, 'S', '上海') ,ename from EMP;ename 字段中的 S 替换为 上海
select replace(job,'S','上海')from emp;

  • 截取字符串的一部分
    • select substring(ename, 2, 2), ename from EMP; 截取 ename 字段从第二个字符开始的两个字符。
select substring('string',2,2);

  • 转换大小写
    • ucase(string),将string全部变为大写
    • lcase(string),将string全部变为小写
select ucase('oooooo');
select lcase('OOOOOO');
  • 删除空格 
    • ltrim(string) 删除string左边的空格
    • rtrim(string)删除string右边的空格
    • trim(string)删除string左右两边的空格
select ltrim ('      abc');
select ('       abc         ');
select trim('     abc   abc     ');
select trim('     abc      ');

7.3 数学函数

  • 绝对值
    • select abs(-100.2); 返回 100.2,表示绝对值。
select abs(1);
select abs(-100);
select abs(-1);
  • 向上取整
    • select ceiling(23.04); 返回 24,表示向上取整。
select ceiling(-3.5);
select ceiling(-3);
select ceiling(4.5);
  • 向下取整
    • select floor(23.7); 返回 23,表示向下取整。
select floor(3.9);
select floor(-3.4);
select floor(-99.1);
  • 四舍五入保留小数位
    • select format(12.3456, 2); 返回 12.35,保留 2 位小数。
select format(12.3444,2);
select format(-13.555,2);
select format(13.555,3);
  • 产生随机数
  • select rand(); 返回一个 0 到 1 之间的随机浮动数值。
select rand();

生成0到99的随机数 

 

7.4 其它函数

  1. 查询当前用户
    • select user(); 返回当前数据库用户的信息。
  2. MD5 摘要
    • select md5('admin'); 对字符串 'admin' 进行 MD5 加密,返回加密后的结果。
  3. 显示当前数据库
    • select database(); 返回当前正在使用的数据库名称。
  4. 密码加密
    • select password('root');'root' 进行加密,返回加密后的结果。
  5. 判断是否为 NULL
    • select ifnull('abc', '123'); 如果第一个参数为 NULL,则返回第二个参数。否则返回第一个参数。

http://www.ppmy.cn/embedded/176725.html

相关文章

【linux】统信操作系统修改默认编辑模式从nano改为vim

统信操作系统修改默认编辑模式从nano改为vim 适用命令update-alternatives --config editor rootuos-PC:~# update-alternatives --config editor 有 3 个候选项可用于替换 editor (提供 /usr/bin/editor)。选择 路径 优先级 状态 ---------------------…

AI在工业自动化中的应用与挑战

随着人工智能技术的飞速发展,AI在工业自动化领域的应用越来越广泛,正在深刻地改变着传统的生产模式,提高生产效率、降低成本,并为工业生产带来更多的智能化解决方案。 一、AI在工业自动化中的应用场景 1. 智能监控与故障预测 AI技…

神聖的綫性代數速成例題19. 最小二乘法在線性代數中的應用、線性空間的直和分解及相關性質、矩陣的特徵值分解的拓展應用

1. **最小二乘法在線性代數中的應用**: 最小二乘法是一種在數據擬合和求解矛盾線性方程組等方面非常有用的方法。 對於線性方程組 \(Ax b\)(其中 \(A\) 是 \(m\times n\) 矩陣,\(x\) 是 \(n\) 維未知向量,\(b\) 是 \(m\) 維向量…

golang结构体与指针类型

结构体与指针类型 指针类型字段 具名字段 举例 package struct_knowledgeimport "fmt"//结构体字段为指针类型 func StructWithPoint(){type Student struct{name *string}var lisa Studentfmt.Printf("赋值前,Student的实例的值%#v\n",lisa)//错误的赋…

ECharts实现数据可视化

ECharts实现数据可视化 一、Echarts的简介二、Echarts使用教程1.下载echarts.min.js文件2.编写echarts代码(1)创建渲染实列(2)修改option达到预期的效果(3)创建配置项到实例中 三、Echarts的基础配置四、前…

MySQL使用rpm安装——Linux版

MySQL 1、卸载Mariadb/MySQL2、下载MySQL3、安装MySQL4、配置MySQL5、启动MySQL6、设置MySQL 1、卸载Mariadb/MySQL # 1、卸载 yum list installed | grep mariadb | xargs yum remove -y yum list installed | grep mysql | xargs yum remove -y # 2、删除文件夹 find / -nam…

PostgreSQL 数据库源码编译安装全流程详解 Linux 8

PostgreSQL 数据库源码编译安装全流程详解 Linux 8 1. 基础环境配置1.1 修改主机名1.2 配置操作系统yum源1.3 安装操作系统依赖包1.4 禁用SELINUX配置1.5 关闭操作系统防火墙1.6 创建用户和组1.7 建立安装目录1.8 编辑环境变量 2. 源码方式安装(PG 16)2.…

游戏MOD伴随盗号风险,仿冒网站借“风灵月影”窃密【火绒企业版V2.0】

游戏MOD(即游戏修改器)是一种能够对游戏进行修改或增强的程序,因其能够提升游戏体验,在玩家群体中拥有一定的市场。然而,这类程序大多由第三方开发者制作,容易缺乏完善的安全保障机制,这就为不法…