数据库:函数

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

字符串函数

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;
相关推荐
Flynt2 小时前
Room 3.0 包名重构 + KMP 迁移:我把项目升级踩了个遍
android·数据库·kotlin
这个DBA有点耶18 小时前
NULL不是空——数据库里最反直觉的设计,90%新人踩过的坑
数据库·mysql·代码规范
这个DBA有点耶20 小时前
AI写的SQL跑崩了生产库,这锅谁背?
数据库·人工智能·程序员
镜舟科技20 小时前
Databricks 再提 LTAP,AI 时代的数据底座为何重回大一统叙事?
数据库·架构·agent
Databend21 小时前
从湖仓升级为 Agent 时代的数据控制面,Snowflake 和 Databricks 有哪些布局
大数据·数据库·agent
ClouGence1 天前
SQL Server CDC 能放到 Always On 备库读吗?一文讲透原理与实践
数据库·sql server
先吃饱再说2 天前
存储的进化:从 MySQL 到浏览器缓存,数据到底住在哪?
数据库
Nturmoils2 天前
字段太多看不全,ksql 的展开模式和输出控制怎么用
数据库·后端
Databend2 天前
Agent 轨迹分析与归因的数据工程实践
大数据·数据库·agent
这个DBA有点耶2 天前
SQL改写进阶:标量子查询的“隐形代价”与消除实战
数据库·mysql·架构