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…

主从版本升级_主从_8.0.32_软链接_基于二进制日志文件

升级需求 将一套MySQL 8.0.32主从环境版本升级到8.0.35版本&#xff0c;主从环境如下&#xff1a; 主服务器 登录账号密码 端口 当前版本 目标版本 主服务器 59.217.250.226 root/topnet123 3306 8.0.32 8.0.35 从服务器 59.217.250.227 root/topnet123 3306 8…

RabbitMQ发布确认

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

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

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

【python】os模块使用操作

os 模块是 Python 的标准库中提供的一个功能强大的模块&#xff0c;用于与操作系统进行交互。以下是 os 模块的一些常用方法&#xff1a; 获取当前工作目录: import os print(os.getcwd())改变当前工作目录: os.chdir(/path/to/new/directory)列出目录下的所有文件和子目录: pr…

Vue生命周期钩子函数详解

Vue.js的生命周期钩子函数是一些在组件实例化、挂载、更新和销毁期间被自动调用的函数。Vue 实例有一个完整的生命周期&#xff0c;从开始创建、初始化数据、编译模板、挂载DOM、渲染、更新、卸载等一系列过程&#xff0c;称之为 Vue 实例的生命周期。 常用的生命周期钩子函数…

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…

【统计检验-参数方差分析】方差分析及其MATLAB代码实现

参数方差分析及其MATLAB代码实现 方差分析(Analysis of Variance,ANOVA)方差分析的定义方差分析的分类分类1:按影响分析指标的因素个数分类2:按分析指标的个数1 单因素一元方差分析1.1 简介1.2 MATLAB实现函数1.3 案例案例描述正态性检验方差齐性检验方差分析多重比较2 双因…

TCP socket VS domain socket

TCP socket VS domain socket 1.异同点&#xff1a; 1.1 类型和地址&#xff1a; TCP Socket&#xff1a; 类型&#xff1a; 面向连接的套接字&#xff0c;提供可靠的、基于流的通信。地址&#xff1a; 使用IP地址和端口号。 Unix Domain Socket&#xff1a; 类型&#xff1…

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

科技革命的目的是为了提高人们生活水平和质量&#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;》 非常经典且非…