mysql基础-常用函数汇总

目录

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.mzph.cn/news/609283.shtml

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

相关文章

Java web设计:在线微友圈网站

项目背景 微友圈是一个基于Java Web开发的社交网络平台,旨在为用户提供一个轻松互动、分享生活和交流观点的在线社区。随着社交网络的普及,人们更加渴望与朋友、家人以及其他志同道合的人保持联系并分享彼此的生活点滴。微友圈的目标是打造一个简洁、高…

string的模拟实现

string的模拟实现 msvc和g下的string内存比较成员变量构造函数与析构函数拷贝构造函数赋值拷贝c_str、size和capacity函数以及重载[]、clear、expand_capacity迭代器与遍历reservepush_back、append、insert字符串比较运算符erase<<流提取 >>流插入resizefindsubst…

RabbitMQ发布确认

1.单个确认 单个确认发布是一种同步确认发布方式&#xff0c;也就是发布一个消息后只有它被确认发布&#xff0c;后续的消息才能继续发布。 缺点:发布速度特别慢,因为若是没有确认发布的消息会阻塞所有后续消息的发布 package com.hong.rabbitmq5;import com.hong.utils.Rabb…

mac怎么拼图?Mac拼图技巧分享

mac怎么拼图&#xff1f;在Mac上拼图是一种令人愉悦的创意表达方式&#xff0c;可以让你将多张图片巧妙地融合在一起&#xff0c;创造出令人惊叹的艺术品。本文将向你介绍在Mac上进行拼图的几种方法&#xff0c;帮助你轻松实现这一目标。 一、使用Mac内置的预览功能进行拼图 M…

freeRTOS总结(三)任务挂起和恢复

1&#xff0c;任务的挂起与恢复的API函数&#xff08;熟悉&#xff09; 任务挂起和恢复的区别 挂起还能被恢复&#xff0c;删除任务后无法恢复。 带FromISR后缀是在中断函数中专用的API函数 1.1任务挂起函数介绍 void vTaskSuspend(TaskHandle_t xTaskToSuspend) xTaskToSusp…

在黑马程序员大学的2023年终总结

起笔 时间真快&#xff0c;转眼又是年末。是时候给2023做个年终总结了&#xff0c;为这一年的学习、生活以及成长画上一个圆满的句号。 这一年相比去年经历了很多事情&#xff0c;接下来我会一一说起 全文大概4000字&#xff0c;可能会占用你15分钟左右的时间 经历 先来给大…

Excel中快速隐藏中间四位手机号或者身份证号等

注意&#xff1a;以下方式必须再新增一列&#xff0c;配合旧的一列用来对比操作&#xff0c;即根据旧的一列的数据源&#xff0c;通过新的一列的操作逻辑来生成新的隐藏数据 1、快捷方式是使用CtrlE 新建一列&#xff1a;手动输入第一个手机号隐藏后的号码&#xff0c;即在N2单…

k8s的集群调度:

k8s的集群调度&#xff1a; Scheduler:负责调度资源&#xff0c;把pod调度到node节点 预算策略 优先策略 list-watch k8s集群当中&#xff0c;通过list-watch的机制进行每个组件的协作&#xff0c;保持数据同步&#xff0c;每个组件之间的解耦 Kubectl配置文件&#xff0c…

关于burpsuite对app(移动端)进行抓包的配置

可以使用手机模拟器&#xff0c;我这里以自己手机&#xff08;物理机&#xff09;演示配置过程 如果是使用的模拟器那么肯定和电脑是在同一局域网 如果使用物理机&#xff0c;那么可以通过连接同一WiFi确保在同一局域网环境下 查看电脑内网ip&#xff1a;192.168.1.105 &am…

人工智能会造成人类失业吗?

科技革命的目的是为了提高人们生活水平和质量&#xff0c;而人工智能却取代了越来越多的职业&#xff0c;造成了人们的失业&#xff0c;这和科技革命的宗旨不是相矛盾了吗&#xff1f;&#xff01;&#xff01; 人工智能通过融合“数据、算力和算法”的力量&#xff0c;对人类…

1879_什么是丝印

Grey 全部学习内容汇总&#xff1a; GitHub - GreyZhang/g_hardware_basic: You should learn some hardware design knowledge in case hardware engineer would ask you to prove your software is right when their hardware design is wrong! 1873_什么是丝印 丝印这个词…

基于springboot在线考试系统源码和论文

网络的广泛应用给生活带来了十分的便利。所以把在线考试管理与现在网络相结合&#xff0c;利用java技术建设在线考试系统&#xff0c;实现在线考试的信息化。则对于进一步提高在线考试管理发展&#xff0c;丰富在线考试管理经验能起到不少的促进作用。 在线考试系统能够通过互…

ChatGPT:让产品经理工作更高效的AI助手

近年来&#xff0c;人工智能技术在各个领域得到了广泛应用&#xff0c;其中包括产品经理日常工作中的自然语言处理&#xff08;NLP&#xff09;。而ChatGPT是一款最新的NLP模型&#xff0c;它已经成为产品经理在日常工作中的得力助手。本文将详细介绍ChatGPT在产品经理日常工作…

归并排序-排序算法

前言 如果一个数组的左右区间都有序&#xff0c;我们可以使用一种方法&#xff08;归并&#xff09;&#xff0c;使这个数组变得有序。 如下图&#xff1a; 过程也很简单&#xff0c;分别取左右区间中的最小元素&#xff0c;再把其中较小的元素放到临时数组中&#xff0c;例如…

Python书籍推荐,建议收藏

学习Python的书籍可太多了&#xff0c;从入门到放弃&#xff0c;应有尽有啊 入门书籍 根据豆瓣评分的高低&#xff0c;这里介绍了一些经典入门书籍&#xff0c;大家根据自身情况选择尝试 《Python编程&#xff1a;从入门到实践&#xff08;第二版&#xff09;》 非常经典且非…

14 简约登录页

效果演示 实现了一个简单的登录表单的样式&#xff0c;包括背景颜色、边框、字体颜色、字体大小、字体粗细、输入框样式、提交按钮样式等。当用户在输入框中输入内容时&#xff0c;输入框下方的提示文字会动态地变化&#xff0c;以提示用户输入正确的信息。当用户点击提交按钮时…

使用SpirngBoot时部分编译报错解决方案:

1. 类文件具有错误的版本 61.0, 应为 52.0 请删除该文件或确保该文件位于正确的类路径子目录中。 报错截图&#xff1a; 解决方案&#xff1a; 找到springboot的java版本看是多少版本&#xff0c;springboot 3.0以上的版本需要最低JDK17的版本&#xff0c;所以查看你自己…

Vue3插件开发教程:步步指导如何编写Vue3插件

关注⬆️⬆️⬆️⬆️ 专栏后期更新更多前端内容 文章目录 Vue3 插件插件注册形式插件主要的场景使用插件Vue3 插件 插件 (Plugins) 是一种能为 Vue 添加全局功能的工具代码。 插件注册形式 一个插件可以是一个拥有 install() 方法的对象,也可以直接是一个安装函数本身。 i…

【矩阵论】Chapter 9—广义逆矩阵知识点总结复习

文章目录 广义逆矩阵1 广义逆矩阵定义2 减号逆3 最小二乘广义逆4 极小范数广义逆5 Moore-Penrose&#xff08;加号逆&#xff09; 广义逆矩阵 1 广义逆矩阵定义 广义逆矩阵 G G G的定义&#xff1a;对任意 m n m\times n mn矩阵的 A A A&#xff0c;如果存在某个 n m n\time…

软件测试|MySQL ORDER BY详解:排序查询的利器

简介 在数据库中&#xff0c;我们经常需要对查询结果进行排序&#xff0c;以便更好地展示数据或满足特定的业务需求。MySQL提供了ORDER BY子句&#xff0c;使我们能够轻松地对查询结果进行排序。本文将详细介绍MySQL ORDER BY的用法和示例&#xff0c;帮助大家更好地理解和应用…