SQL入门:第五章 SQL的内置函数

在数据操作中一些特殊的数据处理中,需要用到内置函数来进行数据的分析和统计,内置函数可以帮我们节省很多的时间,这里整理了一些常用的SQL内置函数,在编写SQL的时候能够经常的用到。内置函数通常是一些较为简单的函数,如果需要对数据做特别复杂的处理时,建议考虑另外一些方法。

字符串操作

字符串的处理在数据库使用中也经常碰到,其中字符串连接,字符串截取较为简单也是较为常见。

  • 函数 CONCAT(str1 ,str2 ,...)

函数使用说明:返回结果为连接参数产生的字符串。如有任何一个参数为 NULL ,则返回值为 NULL 。或许有一个或多个参数。 如果所有参数均为非二进制字符串,则结果为非二进制字符串。如果自变量中含有任一二进制字符串,则结果为一个二进制字符串。一个数字参数被转化为与之相等的二进制字符串格式;

SELECT CONCAT(name,sex) FROM `students` ’

结果如下:

CONCAT(name,sex)
王小明男
郑华女
王俊明男
张芳女
陈阳男
林墨男
  • 函数 CONCAT_WS(separator ,str1 ,str2 ,...)

函数使用说明: CONCAT_WS() 代表 CONCAT With Separator ,是 CONCAT() 的特殊形式。 第一个参数是其它参数的分隔符。分隔符的位置放在要连接的两个字符串之间。分隔符可以是一个字符串,也可以是其它参数。如果分隔符为 NULL ,则结果为 NULL 。函数会忽略任何分隔符参数后的 NULL 值。

SELECT CONCAT_WS('-',name,sex) FROM `students` 

结果:

CONCAT_WS(‘-’,name,sex)
王小明-男
郑华-女
王俊明-男
张芳-女
陈阳-男
林墨-男
  • 函数 SUBSTRING(str ,pos )

函数使用说明:不带有len 参数的格式从字符串str 返回一个子字符串,起始于位置 pos 。带有len 参数的格式从字符串str 返回一个长度同len 字符相同的子字符串,起始于位置 pos 。 使用 FROM 的格式为标准 SQL 语法。也可能对pos 使用一个负值。假若这样,则子字符串的位置起始于字符串结尾的pos 字符,而不是字符串的开头位置。在以下格式的函数中可以对pos 使用一个负值。

SELECT SUBSTRING(tel,1,3) FROM `students` 

结果如下:

SUBSTRING(tel,1,3)
132
138
156
171
158
159
数学函数

数学上的函数不同,通常也很少在数据处理的时候直接进行数据的数学运算,其中RAND()较为常见,在查询数据的过程中,需要随机的选取某几行数据。

  • 函数 POW(X ,Y )

函数使用说明:返回 X 的 Y 乘方的结果值。

  • 函数 RAND()

函数使用说明:返回一个随机浮点值 v ,范围在 0 到 1 之间 ( 即 , 其范围为 0 ≤ v ≤ 1.0) 。若已指定一个整数参数 N ,则它被用作种子值,用来产生重复序列。

SELECT * FROM `students` ORDER BY RAND()

随机排序,每次运行的结果都不相同:

idnamesexagetel
1王小明2013256787651
6林墨2315988456723
2郑华2013878542358
4张芳2317154723361
5陈阳2215825637745
3王俊明2115696746583
日期和时间函数

关于时间的函数特别的多,这里列举几个经常在数据分析时用到的函数。数据分析是通常需要按天数,对某一天的数据进行统计,需要用时间把数据分开。

  • 函数 NOW()

函数使用说明:返回当前日期和时间值,其格式为 ‘YYYY-MM-DD HH:MM:SS’ 或 YYYYMMDDHHMMSS , 具体格式取决于该函数是否用在字符串中或数字语境中。

  • 函数 TO_DAYS(date )

函数使用说明:给定一个日期 date , 返回一个天数 ( 从年份 0 开始的天数 ) 。
两个时间天数之差可用: TO_DAYS(date1 ) - TO_DAYS(date2 )。

聚合函数

在前面一章中,用到了聚合函数 COUNT(expr ),求出分组下的个数,SUM 也经常用在求和中。

  • 函数 COUNT(expr )

函数使用说明:返回SELECT 语句检索到的行中非NULL 值的数目。若找不到匹配的行,则COUNT() 返回 0

计算表里有多少数据:

	SELECT COUNT(*) FROM `students`
  • 函数 GROUP_CONCAT(expr )

函数使用说明:该函数返回带有来自一个组的连接的非NULL 值的字符串结果。

  • 函数 SUM([DISTINCT] expr )

函数使用说明:返回expr 的总数。 若返回集合中无任何行,则 SUM() 返回NULL 。DISTINCT 关键词可用于 MySQL 5.1 中,求得expr 不同值的总和。 若找不到匹配的行,则SUM() 返回 NULL。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

go2coding

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值