美文网首页
23、MySQL数字函数与字符串函数

23、MySQL数字函数与字符串函数

作者: 小碧小琳 | 来源:发表于2018-12-16 09:58 被阅读0次

前言

  • 面试中经常会考的函数:
    日期时间函数,控制流函数
  • 在日常开发中,用的比较多的函数:
    日期时间函数,字符串函数,系统信息函数

更多的应用,应该是多去查手册,这里就是燕老师代表性的讲一讲了。

一、函数讲解

1.1、数学函数

1.1.1、abs(x)绝对值

1.1.2、bin(x)二进制

同样可以返回八进制,十六进制

1.1.3、其余函数

同样还有向下取整,向上取整,随机生成一定范围内的数字等等函数。注意与别的语言之间的区别。可能会有很大的不同。

手册

1.2、聚合函数

1.2.1、avg、count、min、max、sum

这些是已经都讲过的

1.2.2、group_concat(col)返回由属于一组的列值连接组合而成的结果

例题:

题目:想取出第4个栏目下,所有商品的good_id

再进一步,
想把第4个栏目下的good_id,拼接起来,想得到一个1,14,18,13的结果。

group有分组的意思。就是说,把属于第4组的good_id都拼接起来。

发现有两个逗号,因为此函数默认用逗号拼接的。因此,参数不用逗号,用空,得到

1.2.3、手册

1.3、字符串函数

很多与编程语言中的函数是相似的。
注意,MySQL中的下标是从1开始的。比如position函数。

综合例题:

某网站有email字段,有邮件地址。想调查163,126,qq,gmail邮箱的比例。

有一个难点:想查询邮箱后缀,但是后缀是邮箱地址的一部分,得先把后缀想办法查出来。
提示:用字符串函数,长度,位置,right函数。
关键是取多长?用position得到@的位置,然后总长度减去@往右部分的长度,再用right截断即可。

一般网站就会把email拆成@前后两部分,放在2个列。这样会提高查询效率(比如想统计各个邮箱地址占比)。

手册:

相关文章

网友评论

      本文标题:23、MySQL数字函数与字符串函数

      本文链接:https://www.haomeiwen.com/subject/ntstkqtx.html