MySQL:函数和计算字段

禁止码迷,布布扣,豌豆代理,码农教程,爱码网等第三方爬虫网站爬取!

函数#

SQL 支持以下几类函数:

  1. 字符串函数;
  2. 数字处理与计算函数;
  3. 日期函数;
  4. 其他高级函数。

可以去菜鸟教程——MySQL函数看一下详细的函数列表,下面仅看一些简单的实例。

字符串函数#

字符串拼接#

使用 Concat() 可以实现:

大小写转换#

使用 Upper() 函数可以实现:

日期函数#

因为客户端很少对时间进行处理,因此在数据库中对日期的处理很重要,MySQL 中的日期格式必须为:年-月-日,更详细地说是:yyyy-mm-dd。看个简单的检索:

不过日期记录的方式是有很多的,有时候我们只想知道几月几号,有时候却需要精确到几点几分,如果仅仅使用 WHERE 来检索容错性极差!

检索日期#

使用 Date() 函数可以进行日期的紧缩,当只需要检索日期是可以使用:

也可以在一个日期区间进行查找:

检索月份或年份#

可以分别使用 Year() 函数和 Month() 函数来检索:

数值聚合#

我们有时候检索数据,不是为了使用数据本身,而是要进行数据分析,例如求和、求平均数,因此经常需要对数据进行处理。

平均数#

使用 Avg() 函数来计算列的平均值,可以是所有列也可以是特定列,该函数仅能确定特定列的平均值。

  • 函数会直接忽略 NULL 的行。

计数#

使用 Count() 函数来计算列的行数,可以统计所有行:

也可以统计特定数值的行:

最值#

使用 Max() 函数和 Min() 函数可以得到最值:

求和#

使用 Sum() 函数可以求和:

对不同值聚合#

由于函数默认对所有值聚合,但是有时候我们只对不同值聚合,此时可以在聚合函数指定 DISTINCT 参数来令函数仅操作不同的值。

计算字段#

为什么需要计算字段?因为在数据库中的数据不是马上拿来就用的,而是有可能要对这些数据处理。对于客户端和服务器来说,都可以实现对数据的处理,但是往往在服务器中使用 DBMS 来数据处理更为方便。所以计算字段的存在就是数据处理的方式,它并不实际存在于数据库中,而是在检索的时候顺手创建的。

拼接#

所谓拼接就是将多个值拼接到一起构成单个值。在 MySQL 中使用 Concat() 函数来拼接,Concat() 函数的作用是将 2 个字符串拼接为一个字符串,字符串之间用逗号隔开:

此处可以用 RTrim() 函数或 LTrim() 函数删除左边或右边的空格(如果需要的话)。

别名#

若我们使用了拼接功能,将创建新的字段,但是这个字段是没有字段名的。这个是我们不愿意看到的,首先不利于我们的感性认知,接着客户机没办法直接地使用一个没有字段名的字段,因此我们要为这个新建的字段取名。使用 AS 关键字,可以将字段名替换为我们取的新名字。当然别名也可以用于有字段名的字段,可以取一个更有代表性的别名来用。

这就像是新建了一个列一样,客户机就可以用别名来引用字段了。

算术运算#

计算字段也可以用于直接对检索的数据进行计算,支持四则运算的操作。

参考资料#

《MySQL Crash Course》[英] Ben Forta 著,刘晓霞 钟鸣 译,人民邮电出版社
菜鸟教程——MySQL函数

posted @   乌漆WhiteMoon  阅读(398)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2020-04-25 Wireshark实验——DNS 域名系统
点击右上角即可分享
微信分享提示
CONTENTS