当前位置: 首页 > ops >正文

Mysql常用函数

一,常用数学函数

-- 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);

http://www.xdnf.cn/news/19111.html

相关文章:

  • 针对 “TCP 会话维持与身份验证” 的攻击
  • LabVIEW测斜设备承压试验台
  • SQL学习记录
  • 使用git bash ,出现Can‘t get terminal settings: The handle is invalid. 的解决方法与思路
  • 【OpenGL ES】光栅化插值原理和射线拾取原理
  • 把 AI 塞进「智能跳绳」——基于 MEMS 传感器的零样本卡路里估算器
  • [HFCTF2020]EasyLogin
  • UCIE Specification详解(九)
  • 平安养老险深分开展“金融护航,安居鹏城”新市民金融服务宣传活动
  • React Native 初体验
  • LeetCode 完全背包 279. 完全平方数
  • 任意函数都有原像
  • Linux之Shell编程(二)
  • Python中一些包的使用
  • 【黑客技术零基础入门】黑客入门教程(非常详细)从零基础入门到精通,看完这一篇就够了
  • Python结构化模式匹配:解析器的革命性升级
  • playbook剧本
  • Centos卸载anaconda
  • 力扣p1011在D天送达包裹的能力 详解
  • 【网弧软著正版】2025最强软著材料AI生成系统,基于GPT5.0
  • 嵌入式Linux驱动开发:i.MX6ULL中断处理
  • 【面试场景题】怎么做业务领域划分
  • 163.在 Vue3 中使用 OpenLayers 解析 GeoJSON,并给 Feature 填充 pattern(图案)颜色
  • 交叉编译 手动安装 libzip 库 移植ARM 需要 zlib的
  • mysql安全运维之安全模型与原则-构建坚不可摧的数据库防护体系
  • 《AI智脉速递》2025 年 8 月22 日 - 29 日
  • 面向马赛克战的未来智能化作战体系发展展望
  • Linux设备驱动
  • Allegro X PCB设计小诀窍系列--26.如何在Allegro X中加密保护PCB文件?
  • Pycharm打包PaddleOCR过程及问题解决方法