数据库:函数

函数是指一段可以直接被另一段程序调用的程序或代码。

字符串函数

MySQL中常用的字符串函数

使用语法:SELECT 函数(参数);

示例:

sql 复制代码
-- 拼接字符串
select concat('Hello','MySQL');
-- lower转换为小写
select lower('HELLO,MYSQL');
-- upper转换为大写
select upper('hello,mysql');
-- lpad左填充
select lpad('11',5,'-');
-- rpad
select rpad('11',5,'-');
-- trim去除头部和尾部的空格
select trim('  Hello MySQL  ');
-- subtstring提取字符串
select substring('Hello MySQL',1,5);

数值函数

MySQL中常用的数值函数

语法:select 函数(参数);

示例:

sql 复制代码
-- 数值函数
-- ceil向上取整
select ceil(1.1);
-- floor向下取整
select floor(1.9);
-- mod求(x/y)的模(x/y的余数
select mod(3,4);
-- rand0到1的随机数
select rand();
-- round四舍五入保留两位小数
select round(1.235,2);

-- 示例:生成六位随机验证码
select lpad(round(rand()*1000000,0),6,0);
-- 用rand生成0到1的随机数,乘以1000000,因为可能前六位小数开头一位或者几位都为零所以用左填充补0

日期函数

常见日期函数:

示例:

sql 复制代码
-- 日期函数
-- 当前日期curdate
select curdate();
-- 当前时间curtime
select curtime();
-- 当前日期和时间now
select now();
-- 获取指定date的年份
select year('2026-5-2');
-- 获取指定date的月份
select month('2026-5-2');
-- 获取date日期
select day('2026-5-2');
-- 返回date加上一个时间间隔后的时间值
select date_add(now(),interval 70 year );
-- 返回起始时间和结束时间之间的天数
select DATEDIFF(now(),'2006-5-2');

流程控制函数

示例:

sql 复制代码
create table grade(
    id int comment '学号',
    name varchar(20) comment '姓名',
    score int comment '分数'
    )comment '学生分数表';

insert into grade values (1,'小明',80),
                         (2,'小红',70),
                         (3,'李梅',55);

select id,
       name,
       (case when score>=80 then '优秀' when score>=60 then '及格' else '不及格' end)
from grade;
相关推荐
小白男神3 天前
MySQL进阶学习四(存储过程、游标、触发器)
mysql
这个DBA有点耶3 天前
MVCC深入:Read View、版本链与快照读——InnoDB并发控制的内核
数据库·mysql·架构
DBA_G3 天前
从地面到云霄:GBase数据库在民航三大场景的落地实践
数据库
自由能燃气设备3 天前
商用全预混低氮冷凝锅炉免费方案vs付费方案对比+选型避坑指南
大数据·数据库·人工智能
科创致远3 天前
科创致远 ESOP 系统核心效能与实战价值展示
大数据·数据库·人工智能·精益工程
kybs19913 天前
全球灾害数据分析可视化 毕业设计-附源码66794
vue.js·spring boot·mysql·安全·django·c#·asp.net
2601_962218613 天前
万象生鲜系统称重自动多退少补算法解决生鲜非标品痛点
大数据·数据库·人工智能·python·算法
程序猿_极客3 天前
【免费】分享一套优质的基于SSM的校园失物招领系统的设计与实现,源码+文档+视频详解(讲解)
java·mysql·ssm·课程设计·失物招领系统
张洛闻Eren3 天前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github
于平安3 天前
MySQL-触发器
数据库·mysql