服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Mysql - MySQL的常用函数,你学会几个?

MySQL的常用函数,你学会几个?

2023-11-30 16:03Java极客技术 Mysql

在MySQL中,聚合函数主要由:count,sum,min,max,avg,这些聚合函数我们之前都学过,不再重复。这里我们学习另外一个函数:group_concat(),该函数用户实现行的合并。

在开发中,数据库的种类千奇百怪,有各种,比如早期的 SQLServer,Mysql,Oracle,现在还有许多国产的数据库,但是有不少开发还是使用的 Mysql,但是对于 Mysql 中的各种各样的函数,用的却是没有那么多的,今天了不起就来带着大家一起看看这个 Mysql 的各种常用的函数。

Mysql 的日期函数

DATE_FORMAT(date,format)

按照指定的格式,格式化日期,我们来使用一下:

SELECT DATE_FORMAT(NOW(),'%Y-%m-%d %H:%i:%s');

一般我们使用的时候,都是经常在条件中使用的这个比如:

where DATE_FORMAT(createTime,'%Y-%m-%d') = '2020-11-11'

而且我们也可以对他进行分组比如:

GROUP BY DATE_FORMAT(createTime,'%H');

这样的分组条件就是小时,每小时有多少数据,如果是每天,则换成 %d 就可以了

STR_TO_DATE(str,format)

这个则是把我们这个字符串转为日期

比如下面这样的:

SELECT STR_TO_DATE('2023-11-21','%Y-%m-%d');

YEAR()

MONTH()

DAY()

SELECT YEAR(NOW());

SELECT MONTH(NOW());

SELECT DAY(NOW())

参数我们传入日期,最后给我们返回的就是我们想要的年月日的信息。

DAYOFYEAR(date)

这个函数几乎很少用,是用来表示,当前日期是今年的第几天

SELECT DAYOFYEAR(NOW());
333

其实在开发过程中,我们用到的日期函数并不会很多,我们用到的关于这个字符串函数,才是最多的。

字符串函数

CHAR_LENGTH(str)

CHARACTER_LENGTH(str)

这两个函数都是用来返回字符串的字符数的:

select CHAR_LENGTH("hello");

select CHARACTER_LENGTH('hello');

结果:5

CONCAT(str1,str2,...)

CONCAT_WS(separator,str1,str2,...)

第一个就是多个字符串合并成一个字符串,第二个的意思则是,再中间可以拼接一段内容,或者理解为用中间的内容隔开。

这个几乎是我们经常用的函数,用来做两个字段的合并等等操作

SELECT CONCAT('hello','world');
helloworld


SELECT CONCAT_WS(',','hello','world');

hello,world

FIELD(str,str1,str2,str3,...)

返回第一个字符串再字符串列表的位置:

SELECT FIELD('x','d','c','x');

3

TRIM(' xxxx ')

这个也是我们在开发的时候经常会用到,但是在数据库层面其实很少用到,最多的还是在 Java 代码里面去除空格使用,再数据库中,含义也是一样的,都是用来去除字符串开始和结尾的空格。

这个时候就有人想问了,如果我只想去掉开头的,或者只想去掉结尾的空格怎么办?

LTRIM(str)

RTRIM(str)

第一个是去掉开始的空格,第二个是去掉结尾的空格,这个了不起都不用给大家演示,一个是去掉左边的,一个是去掉右边的, 没有R 没有L 的 则是两边都去掉。

UCASE(str)

UPPER(str)

这两个函数效果是一样的,转换字符串字符为大写,既然有大写,那么就势必会有小写

LCASE(str)

LOWER(str)

上述两个方法是吧字符串转为小写

**REPLACE() **

将字符串中出现的所有子字符串替换为新的子字符串

REVERSE()

这个函数就比较有意思了,把字符串给翻转过来,但是这个函数不是属于常用的函数,了不起实在是想不出什么需求,需要吧这个字符串给你倒过来,难道还想倒背如流?

聚合函数

在MySQL中,聚合函数主要由:count,sum,min,max,avg,这些聚合函数我们之前都学过,不再重复。这里我们学习另外一个函数:group_concat(),该函数用户实现行的合并。

group_concat()函数首先根据group by指定的列进行分组,并且用分隔符分隔,将同一个分组中的值连接起来,返回一个字符串结果。

group_concat([distinct] 字段名 [order by 排序字段 asc/desc] [separator '分隔符'])

注意:

  • 使用distinct可以排除重复值;
  • 如果需要对结果中的值进行排序,可以使用order by子句;
  • separator是一个字符串值,默认为逗号。

数学函数

round(x,保留位数)函数

四舍五入; 当对正数进行四舍五入:按照正常的计算方式,四舍五入即可。当对负数进行四舍五入:先把符号丢到一边,对去掉负号后的正数进行四舍五入,完成以后,再把这个负号,补上即可。

select round(1.595658,3) as out_put;

ceil(x)函数

向上取整,返回>=该参数的最小整数。求的是大于等于这个数字的最小整数

select ceil(1.9) as out_put;
select ceil(1.1) as out_put;

至于数学函数中的 avg 和 sum 了不起都不用说了,一个平均数,一个求和,

原文地址:https://mp.weixin.qq.com/s/7Jk5g3Ekst5OBnfqs0j-rQ

延伸 · 阅读

精彩推荐
  • MysqlMySQL存储引擎简介及MyISAM和InnoDB的区别

    MySQL存储引擎简介及MyISAM和InnoDB的区别

    这篇文章主要介绍了MySQL存储引擎简介及MyISAM和InnoDB的区别,重点介绍了MyISAM 和 InnoDB的区别,需要的朋友可以参考下 ...

    MYSQL教程网4922020-03-26
  • MysqlMySQL中创建表的三种方法汇总

    MySQL中创建表的三种方法汇总

    这篇文章主要介绍了MySQL中创建表的三种方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...

    不剪发的Tony老师4812023-02-21
  • MysqlMySQL如何清空慢查询文件

    MySQL如何清空慢查询文件

    这篇文章主要介绍了MySQL如何清空慢查询文件,如何在线生成一个新的慢查询文件,感兴趣的小伙伴们可以参考一下 ...

    pursuer.chen2022020-05-25
  • MysqlLinux下安装Mysql多实例作为数据备份服务器实现多主到一从多实例的备份

    Linux下安装Mysql多实例作为数据备份服务器实现多主到一从多实例

    由于第一次接触LINUX,花了三天时间才算有所成就,发出来希望可以给大伙带来方便 ...

    mysql教程网5302019-11-08
  • MysqlMySQL无法启动怎么办?

    MySQL无法启动怎么办?

    如果MySQL无法启动,我们需要做的第一件事就是:找出具体原因,首先进入MySQL安装目录,在data目录里找到一个.err结尾的日志文件(如下图),用记事本打开...

    MYSQL教程网11262021-12-26
  • MysqlMySql中的json_extract函数处理json字段详情

    MySql中的json_extract函数处理json字段详情

    这篇文章主要介绍了MySql中的json_extract函数处理json字段详情,利用json_extract函数可以通过key查询value值的一个介绍展开相关内容,需要的小伙伴可以参考一...

    一灰灰3832022-11-04
  • MysqlMySQL DML语句整理汇总

    MySQL DML语句整理汇总

    这篇文章主要介绍了MySQL DML语句整理汇总,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小...

    s_pr1te3392020-09-22
  • MysqlMySQL性能优化之一条SQL在MySQL中执行的过程详解

    MySQL性能优化之一条SQL在MySQL中执行的过程详解

    天天和数据库打交道,一天能写上几十条 SQL 语句,但你知道系统是如何和数据库交互的吗?下面这篇文章主要给大家介绍了关于MySQL性能优化之一条SQL在MySQL中...

    麦芽糖02193692023-03-23