Mysql基础知识03-常见函数

王 茂南 2020年3月31日09:15:03
评论
1360字阅读4分32秒
摘要这一篇作为MySQL基础知识的第三篇内容, 主要介绍一些常用的函数. 这些函数包含对于时间数据的处理, 或是对于字符串数据的处理.

简介

之前我们介绍了关于MySQL的基础的命令, Mysql基础知识02-基础SQL语句, 这里包含了MySQL的基础语句, 这一篇介绍一下关于MySQL的常用的函数. 会包含一些常见的字符串的函数和时间的函数.

 

关于时间的函数

关于时间的函数的详细文档, 可以查看下面的链接, 12.6 Date and Time Functions

下面也是记录几个我自己用到的关于时间的函数.

weekofyear-查看第几个自然周

例如查看2020/04/02是这一年的第几个自然周.

  1. select weekofyear('2020-04-02');
Mysql基础知识03-常见函数

 

DAYOFWEEK-查看星期

  1. select DAYOFWEEK('2020/04/02');

显示的结果是5, 但是这个不是表示周五.

Mysql基础知识03-常见函数

这里的顺序是1 = Sunday, 2 = Monday, …, 7 = Saturday. 所以5就是周四.

 

计算日期日期增加与减少-date_add

我们还可以对日期进行加减, 例如我们要计算2020/1/1号前7天和后七天的日期.

首先是日期往前算就是负数, 如下所示, 计算前7天的日期.

  1. select date_add('2020-01-01', INTERVAL -7 DAY);
Mysql基础知识03-常见函数

同样的道理, 我们使用正数就是计算后7天的日期.

  1. select date_add('2020-01-01', INTERVAL 7 DAY);
Mysql基础知识03-常见函数

 

对数据表中数据使用-进阶

在实际使用中, 我们通常会使用下面的方式来进行日期数据的修改.

  1. select a.daTe, date_add(a.daTe, INTERVAL 7 DAY)
  2. from(
  3.     select concat('2020','01','07') as daTe
  4. as a;

最终的结果如下所示.

Mysql基础知识03-常见函数

 

日期格式转换-Date_format

有的时候, 我们希望将日期保存为指定的格式, 这个时候就需要使用Date_format来完成.

  1. select DATE_FORMAT('20200402', '%Y-%m-%d');

最终的结果如下所示:

Mysql基础知识03-常见函数

当然, 对于输入的日期的格式, 其他格式也是可以识别的.

Mysql基础知识03-常见函数

 

 

关于字符串的函数

关于字符串的函数的详细文档, 可以查看下面的链接, 12.7 String Functions and Operators

下面也是记录几个我自己用到的关于字符串的函数.

连接字符串-concat

这个可以将几个字符串进行连接.

  1. select concat('2020','04','02') as daTe;
Mysql基础知识03-常见函数

在这里, 我们可以结合之前的

 

使用指定符号连接字符串-contact_ws

上面的方式会直接将所有的string全部连接到一起, 但有的时候我们希望可以自己指定连接符号, 这个时候就需要使用contact_ws来完成操作.

  1. select concat_ws('-', '2020', '01', '07');

最终的结果如下所示.

Mysql基础知识03-常见函数

一些更复杂的操作, 我们可以可以两个连在一起进行使用.

  1. select concat_ws(':', 'Date', a.daTe)
  2. from(
  3.     select concat('2020','01','07') as daTe
  4. as a;
Mysql基础知识03-常见函数

 

计算字符串长度-length

  1. select length('2020-01-07');

上面的字符串长度是10.

Mysql基础知识03-常见函数

  • 微信公众号
  • 关注微信公众号
  • weinxin
  • QQ群
  • 我们的QQ群号
  • weinxin
王 茂南
  • 本文由 发表于 2020年3月31日09:15:03
  • 转载请务必保留本文链接:https://mathpretty.com/11985.html
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: