前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Mysql的常用函数

Mysql的常用函数

作者头像
Java极客技术
发布2023-11-30 10:48:57
1790
发布2023-11-30 10:48:57
举报
文章被收录于专栏:Java极客技术

每天早上七点三十,准时推送干货

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

Mysql 的日期函数

DATE_FORMAT(date,format)

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

代码语言:javascript
复制
SELECT DATE_FORMAT(NOW(),'%Y-%m-%d %H:%i:%s');

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

代码语言:javascript
复制
where DATE_FORMAT(createTime,'%Y-%m-%d') = '2020-11-11' 

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

代码语言:javascript
复制
GROUP BY DATE_FORMAT(createTime,'%H');

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

STR_TO_DATE(str,format)

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

比如下面这样的:

代码语言:javascript
复制
SELECT STR_TO_DATE('2023-11-21','%Y-%m-%d');

YEAR()

MONTH()

DAY()

代码语言:javascript
复制
SELECT YEAR(NOW());

SELECT MONTH(NOW());

SELECT DAY(NOW())

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

DAYOFYEAR(date)

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

代码语言:javascript
复制
SELECT DAYOFYEAR(NOW());
333

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

字符串函数

CHAR_LENGTH(str)

CHARACTER_LENGTH(str)

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

代码语言:javascript
复制
select CHAR_LENGTH("hello");

select CHARACTER_LENGTH('hello');

结果:5

CONCAT(str1,str2,...)

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

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

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

代码语言:javascript
复制
SELECT CONCAT('hello','world');
helloworld


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

hello,world

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

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

代码语言:javascript
复制
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指定的列进行分组,并且用分隔符分隔,将同一个分组中的值连接起来,返回一个字符串结果。

代码语言:javascript
复制
group_concat([distinct] 字段名 [order by 排序字段 asc/desc] [separator '分隔符'])

注意:

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

数学函数

round(x,保留位数)函数

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

代码语言:javascript
复制
select round(1.595658,3) as out_put;

ceil(x)函数

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

代码语言:javascript
复制
select ceil(1.9) as out_put;
select ceil(1.1) as out_put;

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-11-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java极客技术 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Mysql 的日期函数
  • 字符串函数
  • 聚合函数
  • 数学函数
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档