数据库:函数

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

字符串函数

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;
相关推荐
破碎的南瓜20 分钟前
sqli--sql注入过关笔记(1,2,3,4,5,9)
数据库·笔记·sql
吠品2 小时前
Zabbix Web界面误报Server未运行的排查与解决
java·服务器·数据库
SelectDB2 小时前
Apache Doris Variant 动态 JSON 实战教程:从建表到跑通 100M Agent 日志查询
数据库
sg_knight2 小时前
MySQL 存储过程详解:从入门到实战
android·数据库·mysql·database·dba·关系型数据库·db
星空露珠3 小时前
28种颜色对应名称,
开发语言·数据库·算法·游戏·lua
踏月的造梦星球4 小时前
DM8 DSC 单机双实例部署
运维·开发语言·数据库
Database_Cool_4 小时前
企业级多模态分析计算引擎选型:首选 AnalyticDB MySQL 向量 + SQL + 实时一体化方案
数据库·sql·mysql
SelectDB4 小时前
从 Oracle、Hadoop 到 Apache Doris:哥瑞利泛半导体智能制造数据平台实践
数据库
ihuyigui4 小时前
海外签收通知短信接口
android·java·开发语言·前端·数据库·后端
海棠Flower未眠4 小时前
SpringBoot 消息死信队列(荣耀典藏版)
java·数据库·spring boot