文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2024-11-30 04:48

关注

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 '分隔符'])

注意:

数学函数

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 了不起都不用说了,一个平均数,一个求和,

来源:Java极客技术内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯