mysql基础-常用函数汇总

news2024/12/26 21:45:07

目录

1. 查询技巧

2. 时间函数

2.1 now()

2.2 current_date()

2.3 时间差timestampdiff()与datediff()

2.4 其他时间函数

3. 字符函数

3.1 截取函数

3.2 分割函数

3.3 left与right函数

3.4 其他函数

4. 数字函数

5. 转换函数

5.1 时间转字符

5.1.1 示例

5.1.2 语法

5.2 字符串转时间

5.2.1 示例

5.2.2 语法

5.3 字符转数字

6.聚合函数

6.1 count():取数量。

6.1.1 常用语法

6.1.2 常用形式性能问题

6.2 avg()

6.3 其他

7. 其他函数


1. 查询技巧

首先介绍一种查询用法。 我们可以在数据库管理工具中(例如navicat)直接使用如下方式获取函数结果:

select  函数(入参);

例如获取当前时间,now()函数是获取当前时间

select now();

2. 时间函数

2.1 now()

当前时间,示例如上。

2.2 current_date()

获取当前日期

2.3 时间差timestampdiff()与datediff()

计算两个日期的相差天数:

select datediff('2024-01-09 21:00:00','2024-01-01 21:01:01');

结果:8

计算两个时间的相差值:

select timestampdiff(SECOND,'2024-01-09 21:00:00','2024-01-09 21:01:01');

结果:61

注:timestampdiff()可以输入不同的单位,例如:HOUR、DAY

2.4 其他时间函数

YEAR(date):获取 date 中的年。

MONTH(date):获取 date 中的月。

DAY(date):获取 date 中的日。

HOUR(date):获取 date 中的小时。

MINUTE(date):获取 date 中的分。

SECOND(date):获取 date 中的秒。

感兴趣可以自行试试。

3. 字符函数

3.1 截取函数

select SUBSTRING('20240109214000',1,8) ;

结果:20230109

注:起始位置为1

3.2 分割函数

select SUBSTRING_INDEX('河北_保定_定州', '_', 2);

结果:河北_保定

使用场景: 经常使用于机构表的查询,因为大多数类似机构表的数据存储格式为省县_乡(示例,莫纠结详细真实场景),我们可以使用分割函数来获取某个省的数据,

3.3 left与right函数

select left('20240109214000',8);

结果:20240109

使用场景:针对于使用字符存储日期的数据库中,使用场景非常多。例如:查询创建时间为20240109的订单数据数据(此处我们假设订单表的创建时间是字符类型,格式为:yyyyMMddHHmmss):

select * from t_order where left(create_time,8) ='20240109'

可以自行尝试一下right函数。

3.4 其他函数

length(字段):长度函数

concat(字段1,字段2,...):连接函数(使用常景也比较多)

4. 数字函数

向上取整 CEIL(X) 和 CEILING(X):返回大于等于 X 的最小 INT 型整数。

向下取整 FLOOR(X):返回小于等于 X 的最大 INT 型整数。

舍入函数 ROUND(X,D):X 表示要处理的数,D 表示保留的小数位数,处理的方式是四舍五入。ROUND(X) 表示保留 0 位小数。

5. 转换函数

5.1 时间转字符

5.1.1 示例

select date_format(now(),'%Y-%m');

结果:2024-01

5.1.2 语法

date_format(date, format)
  • date:要格式化的日期或时间值。

  • format:指定日期或时间值的格式

    其中日期格式化选项:

  • %Y:四位数的年份(例如:2023)。

  • %y:两位数的年份(例如:23)。

  • %m:两位数的月份(01-12)。

  • %d:两位数的日(01-31)。

  • %H:24 小时制的小时数(00-23)。

  • %i:两位数的分钟数(00-59)。

  • %s:两位数的秒数(00-59

5.2 字符串转时间

5.2.1 示例

select str_to_date('2024-01-09','%Y-%m-%d');

结果:2024-01-09

5.2.2 语法

STR_TO_DATE(str, format)

  • str 是要转换的字符串。

  • format 是字符串的格式,选项同date_format函数

5.3 字符转数字

直接使用+0即可

select ('1' + 0);

结果 : 1

6.聚合函数

6.1 count():取数量。

6.1.1 常用语法

count(distinct 字段):

示例:查询订单表中共有多少种商品,SQL如下:

select count(distinct good_id) from t_order

6.1.2 常用形式性能问题

请参考这篇文章:mysql进阶-不同的count()性能-CSDN博客

6.2 avg()

avg():求平均值。

示例:

表中存在如下数据:

select avg(score) from t_score;

结果:

这个函数的最终值,是去掉null之后做的除法

6.3 其他

sum():求和

max():求最大值

min():求最小值

7. 其他函数

group_concat 与 find_in_set 这两个函数的使用案例,

请看这篇文章:分类分级数据统计-CSDN博客

本次分享至此。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1369915.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python进阶之元类

Python进阶之元类 目录 什么是元类? 元类的调用流程 根据类自定义元类 __new__方法以及参数 ----------cls ----------name ----------bases ----------attrs __call__方法 生成对象的完整代码 什么是元类? 在python面向对象中,我们知道所有…

Redis:原理速成+项目实战——Redis实战5(互斥锁、逻辑过期解决缓存击穿问题)

👨‍🎓作者简介:一位大四、研0学生,正在努力准备大四暑假的实习 🌌上期文章:Redis:原理速成项目实战——Redis实战4(解决Redis缓存穿透、雪崩、击穿) 📚订阅专…

web左侧伸缩菜单栏/导航栏

效果展示&#xff1a; 百度网盘链接下载全部资源&#xff1a; http://链接&#xff1a;https://pan.baidu.com/s/1ZnKdWxTH49JhqZ7Xd-cJIA?pwd4332 提取码&#xff1a;4332 html/JQuery代码&#xff1a; <!DOCTYPE html> <html lang"zh"> <head&g…

2023年全国职业院校技能大赛(高职组)“云计算应用”赛项赛卷②

2023年全国职业院校技能大赛&#xff08;高职组&#xff09; “云计算应用”赛项赛卷2 目录 需要竞赛软件包环境以及备赛资源可私信博主&#xff01;&#xff01;&#xff01; 2023年全国职业院校技能大赛&#xff08;高职组&#xff09; “云计算应用”赛项赛卷2 模块一 …

Spring MVC自定义类型转换器!!!

使用场景 在index.jsp里面添加日期类型 <form action"account/saveAccount" method"post">账户名称&#xff1a;<input type"text" name"name"><br/>账户金额&#xff1a;<input type"text" name&quo…

TCP的这些特性你知道吗?(滑动窗口篇)

如果每次 [发送方] 需要等待接受方返回数据才能发送下一条数据&#xff0c;会导致网络通信的效率非常的低&#xff0c;于是在TCP中 引入了窗口这个概念&#xff0c;即使在往返时间较长的情况下&#xff0c;它也不会降低网络通信的效率。有了窗口&#xff0c;并不代表可以无限 接…

windows rtmp发送数据流程抓包

一、connect 返回Window Acknowledgement Size&#xff1a; 返回Set Peer Bandwidth 二、 releaseStream 三、 FCPublish 四、 createStream 五、 _checkbw 六、 FCPublish返回 七、createStream 八、 _checkbw返回 九、发送关键帧 十、发送视频帧 十一、FCUnpublish 十二、del…

【Verilog】运算符

系列文章 数值&#xff08;整数&#xff0c;实数&#xff0c;字符串&#xff09;与数据类型&#xff08;wire、reg、mem、parameter&#xff09; 系列文章算术运算符关系运算符相等关系运算符逻辑运算符按位运算符归约运算符移位运算符条件运算符连接和复制运算符 算术运算符 …

生成模型 | 2024年新年新论文:audio2photoreal[正在更新中]

本博客主要包含了20240103新出的论文From Audio to Photoreal Embodiment: Synthesizing Humans in Conversations论文解释及项目实现~ 论文题目&#xff1a;20240103_From Audio to Photoreal Embodiment: Synthesizing Humans in Conversations 论文地址&#xff1a;2401.018…

Python2048小游戏核心算法(python系列26)

前言&#xff1a;做核心算法之前我们可以玩一玩这个小游戏来了解一下规则。2048在线试玩 运行效果&#xff1a; 代码案例&#xff1a; # 2048小游戏# 1.将列表中零移动到列表的末尾 def move_zeroes():x 0for i in range(len(list_nums)):if list_nums[i] ! 0:list_nums[x],…

python 基础笔记

基本数据类型 函数 lamda 匿名函数 成员方法 类 类与对象 构造方法 魔术方法 私有成员 私有方法 继承 注解 变量注解 函数注解 Union类型 多态 参考链接&#xff1a;黑马程序员python教程&#xff0c;8天python从入门到精通&#xff0c;学python看这套就够了_哔哩哔哩_bilib…

小测一下HCL中VSR的转发性能

正文共&#xff1a;555 字 10 图&#xff0c;预估阅读时间&#xff1a;1 分钟 上次我们在HCL中导入了NFV的自定义镜像&#xff08;如何在最新版的HCL 5.10.0中导入NFV镜像&#xff1f;&#xff09;&#xff0c;但是当时没有测试转发性能&#xff0c;最近HCL又更新了V5.10.1版本…

用golang 实现给图片添加文字水印

package mainimport ("fmt""github.com/golang/freetype""image""image/draw""image/jpeg""io""os""time" )func main() {// 打开原始图片file, err : os.Open("004.jpeg")if err …

[Vulnhub靶机] DriftingBlues: 5

[Vulnhub靶机] DriftingBlues: 5靶机渗透思路及方法&#xff08;个人分享&#xff09; 靶机下载地址&#xff1a; https://download.vulnhub.com/driftingblues/driftingblues5_vh.ova 靶机地址&#xff1a;192.168.67.24 攻击机地址&#xff1a;192.168.67.3 一、信息收集 …

多线程基础入门【Linux之旅】——下篇【死锁,条件变量,生产消费者模型,信号量】

目录 一&#xff0c;死锁 1. 死锁的必要条件 2&#xff0c;避免死锁 二&#xff0c;条件变量 同步概念与竞态条件 条件变量——初始化 静态初始化 动态初始化 pthread_cond_destroy (销毁) pthread_cond_wait (等待条件满足) pthread_cond_signal (唤醒线程) ph…

@PolarDB,你的动手体验搭子,来啦

前言 PolarDB是阿里云自研的新一代云原生数据库&#xff0c;在计算存储分离架构下&#xff0c;利用了软硬件结合的优势&#xff0c;为用户提供具备极致弹性、高性能、海量存储、安全可靠的数据库服务。100%兼容MySQL和PostgreSQL生态&#xff0c;高度兼容Oracle语法。 1月17日…

Linux下进程控制

文章目录 创建进程fork创建进程fork返回值写诗拷贝fork常规用法fork失败的原因 进程终止进程正常终止查看进程退出码_exit函数exit函数exit 和 _exit 的区别return退出 进程等待进程等待的方式wait方法(系统调用)waitpid方法(系统调用) WEXITSTATUS 和 WIFEXITED阻塞等待和非阻…

vue无法获取dom

处理过程 watch监听值变化 index.js:33 [Vue warn]: Error in callback for watcher "$store.state.modelsStorageUrl": "TypeError: Cannot set properties of undefined (setting modelScene)"watch: {"$store.state.modelsStorageUrl":{ha…

24上半年教师资格证笔试报名全流程✅

&#x1f550;考试时间安排 &#xff08;一&#xff09;报名时间&#xff1a; 2024年1月12日9:30至15日16:00 &#xff08;二&#xff09;缴费时间&#xff1a; 2024年1月17日24:00 &#xff08;三&#xff09;考试时间&#xff1a; 2024年3月9日星期六 &#xff08;四&#xf…

上网行为管理到底是什么!

之前经常听过上网行为管理系统&#xff0c;那这个系统到底是什么&#xff0c;还真不是很清楚&#xff01;今天仔细查了很多资料&#xff0c;分享给大家&#xff1a; 上网行为管理是指一种帮助互联网用户控制和管理对互联网的使用&#xff0c;包括对网页访问过滤、上网隐私保护…