Mysql常用函数

发布于:2025-08-31 ⋅ 阅读:(18) ⋅ 点赞:(0)

一,常用数学函数

-- 1.abs取绝对值
select abs(-1);
-- 2.floor向下取整数
select floor(1.8);
-- 3.ceil向上取整
select ceil(1.1);
-- 4.truncate(a,b)截取到a中的小数点后第b位小数不四舍五入
select truncate(1.23456,4);
-- 5.round(a)截取保留a整数部分四舍五入
select round(2.5);
-- 6.round(a,b)截取保留a小数点后第b位四舍五入
select round(1.23456,4);
-- 7.rand()返回0-1的随机数
select rand();
-- 8.mod(a,b)取两者余数
select mod(7,4);

二,常用的字符串函数

-- 1.char_length()返回字符串长度
select char_length('中国');
-- 2.length()返回字符串长度字节为单位
select length('中国');
-- 3.concat()拼接()内的字符
select concat('凡人','修仙');
-- 4.lower()转小写upper()转大写
select upper('abc'),lower('ABC');
-- 5.left('a',2)在a从左边开始数两个字符,right('b',3)从b右边开始数三个
select left('中华人民共和国',2),right('中华人民共和国',3);
-- 6.trim()去除两边空格,ltrim(去除左边空格),rtrim(去除右边空格)
select trim('  你好  '),ltrim('  你好  '),rtrim('  你好  ');
-- 7.
select replace('字符替换','字符','字符串');
-- 8.
select substring('字符串截取',1,3);

-- 例题
-- 1.查询计科和软工各有多少人
select left(class,2),count(*) '人数' from stu group by left(class,2);
-- 2.查询名字个数为4的人的信息
select * from stu where char_length(name)=4;
-- 3.查询分数能够被10整除的相关信息
select * from score where mod(score,10)=0;

三,日期和时间函数

-- 日期和时间函数
-- 1.
select current_date(),current_time(),now(),sysdate(),current_timestamp();
-- 2.
select year(now()),month(now()),day(now()),week(now()),DAYOFYEAR(now()),DAYOFWEEK(now()),DAYOFMONTH(now()),hour(now()),minute(now()),second(now());
-- 3.在当前日期加上两天
select adddate(now(),2);
-- 4.返回时间差
select timestampdiff(week,'2025-8-9',now());
-- 5.自定义时间格式h 12小时制 H 24小时制
select DATE_format(now(),'%Y-%m-%d %H:%i:%s');
-- 例题
-- 1.查询年龄大于20以上的同学
select * from stu where timestampdiff(year,birthday,now())>=20;
-- 2.查询今天过生日的人
select * from stu where month('2000-8-1')=month(birthday) and dayofmonth('2000-8-1')=dayofmonth(birthday);
-- 3.查询本周过生日的人
select*from stu where 
right(birthday,5) >
right(date(adddate(now(),-dayofweek(now()))),5) 
and 
right(birthday,5) <= 
right(date(adddate(now(),7-dayofweek(now()))),5);


网站公告

今日签到

点亮在社区的每一天
去签到