MySQL基础函数篇

1.字符串函数

sql 复制代码
CONCAT ---字符串拼接

LOWER---全部转成小写

UPPER---全部转成大写

LPAD---左拼接

RPAD---右拼接

TRIM---去除首尾空格

SUBSTRING---截取

select concat("hello","word");
select lower("HEllo");---hello
select upper("hello");---HELLO
select lpad("word",6,'-');---6是拼接后字符串长度 --word
select rpad("word",6,'-');---word--
select trim("  hello word  ");---hello word
select substring("hello word",1,5);---索引从1开始,hello

2.数值函数

sql 复制代码
CEIL---下取整

FLOOR---上取整

MOD---取模/取余

RAND---生成0-1随机数

ROUND---四舍五入

select ceil(2.3);---3
select floor(2.3);---2
select mod(4,7);---4
select rand();---生成0-1的随机数
select round(2.45,1);---保留一位小数

生成六位验证码---rand()*1000000生成六位并去掉小数部分,0.几有可能为0,所以不足6为做左右拼接都行

sql 复制代码
select rpad(round(rand()*1000000,0),6,'0');---保留0位小数,不足六位补0

3.日期函数

sql 复制代码
CURDATE---当前日期

CURTIME---当前时间

NOW---当前日期时间

YEAR---获取年份

MONTH---获取月份

DAY---获取日份

DATE_ADD---后推时间

DATEDIFF---计算天数差

select curdate();---2025-06-06
select curtime();
select now();
select year(curdate());---2025
select month(curdate());---6
select day(curdate());---6
select date_add(curdate(),interval 70 day);---2025-08-15
select datediff(curdate(),'2023-06-06');---731

4.流程函数

sql 复制代码
IF---判断是否为真

IFNULL---判断是否为空

CASE [...] WHEN ... THEN ... ELSE ... END---可以设置多个条件返回相应值

select if(true,"真",'假');---true返回第一个值,false返回第二个值
select ifnull("真",'假');---不为空返回自己,空返回values2也就是这里的'假'
select ifnull(null,'假');---null返回默认值,'假'
​
select name,
(case when math >=85 then '优秀' when math >=60 then '及格' else '不及格' end) as '数学',
(case when english >=85 then '优秀' when english >=60 then '及格' else '不及格' end) as '英语',
(case when chinese >=85 then '优秀' when chinese >=60 then '及格' else '不及格' end) as '语文'
from score;
​
select name,
if( math>=85 ,'优秀', if( math >=60,'及格','不及格')),
if(english>=85 ,'优秀', if( english>=60,'及格','不及格')),
if(chinese>=85 ,'优秀',if(chinese>=60,'及格','不及格'))
from score;
相关推荐
大侠归来3 小时前
常用 MySQL 分库分表方案详解
数据库·mysql
`Levie7 小时前
MySQL-数据库服务日志管理与数据闪回
数据库·mysql
香蕉大香蕉(06敬畏市场)8 小时前
MySQL 单点详解(01)
java·数据库·mysql·面试·博客·实习
吹什么轩8 小时前
MySQL 事务管理:从 ACID 到 MVCC,一篇讲透
数据库·mysql
paopaokaka_luck9 小时前
基于springboot+vue的益暖微光公益服务平台(DeepSeek公益助手、善款信息追溯、志愿服务积分闭环、ECharts运营分析、活动状态自动流转)
java·前端·javascript·spring boot·mysql·架构·echarts
m0_639906949 小时前
MySQL 锁机制详解|表锁、行锁、意向锁,死锁成因与解决方案
数据库·mysql
进击的荆棘9 小时前
MySQL——在ubuntu环境下安装MySQL
数据库·mysql·ubuntu
夜雪一千10 小时前
MySQL 数据字典如何获得
数据库·mysql
honsor10 小时前
用 Grafana 做温湿度异常检测:从阈值告警到趋势预测
数据库·mysql·php
lusklusklusk10 小时前
SQL Server 为什么普通 SELECT 会阻塞 UPDATE?——行级 S 锁到表级 S 锁的锁升级原理与实验验证
数据库·mysql·oracle