mysql常用函数总结(数据处理函数、数据汇总函数)

发布时间:2019-12-23编辑:脚本学堂
本文介绍下,mysql中的常用函数,包括常见的数据处理函数-文本处理、日期和时间处理、数值处理函数等,以及数据汇总函数。有需要的朋友,参考下吧。

一、数据处理函数

1,常见的文本处理函数
 

Left()    返回串左边的字符
Length()  返回串的长度
Locate()   找出串的一个子串
Lower()    将串转换为小写
LTrim()     去掉串左边的空格
Right()     返回串右边的字符
RTrim()    去掉串右边的空格
Soundex()   返回串的SOUNDEX值
SubString()  返回子串的字符
Upper()     将串转换为大写

2,日期和时间处理函数
 

日期格式:yyyy-mm-dd
AddDate()    增加一个日期(天、周等)
AddTime()    增加一个时间(时、分等)
CurDate()     返回当前日期
CurTime()     返回当前时间
Date()          返回日期时间的日期部分
datediff()     计算两个日期之差
Date_Add()   高度灵活的日期运算函数
Date_Format()    返回一个格式化的日期或时间串
Day()           返回一个日期的天数部分
DayOfWeek()    返回一个日期,返回对应的星期几
Hour()           返回一个时间的小时部分
Minute()        返回一个时间的分钟部分
Month()         返回一个日期的月份部分
Now()            返回当前日期和时间
Second()       返回一个时间的秒部分
Time()           返回一个日期时间的时间部分
Year()           返回一个日期的年份部分

3,数值处理函数
 

Abs()        返回一个数的绝对值
Cos()        返回一个角度的余弦
Exp()        返回一个数的指数值
Mod()        返回除操作的余数
Pi()           返回圆周率
Rand()      返回一个随机数
Sin()         返回一个角度的正弦
Sqrt()        返回一个数的平方根
Tan()        返回一个角度的正切

二,汇总数据
1,聚集函数:运行在行组上,计算和返回单个值的函数。
 

AVG()        返回某列的平均值
COUNT()    返回某列的行数
MAX()        返回某列的最大值
MIN()          返回某列的最小值
SUM()         返回某列值之和
 

例如:
 

复制代码 代码示例:

SELECT  AVG(prod_price)  AS  avg_price
FROM  products;

# COUNT(*) 对表中行的数目进行计数,不管表列中包含空值(NULL)或非空值
SELECT  COUNT(*)  AS num_cust
FROM  customers;
# COUNT(column) 对特定列中具有值的行进行计数,忽略NULL值
SELECT  COUNT(cust_email)  AS  num_cust
FROM  customers;

SELECT MAX(prod_price)  AS max_price
FROM  products;

SELECT  MIN(prod_price)  AS min_price
FROM  products;

SELECT  SUM(quantity)  AS  items_ordered
FROM  orderitems
WHERE  order_num = 2005;

SELECT  SUM(item_price*quantity) AS total_price
FORM orderitems
WHERE  order_num = 2005;

2,聚集不同值
对以上5个聚集函数都可以如下使用:
对所有的行执行计算,指定ALL参数或不给参数(默认ALL)
只包含不同的值,指定DISTINCT参数
DISTINCT只能用于COUNT(column),不能用于COUNT(*),不能用于计算或表达式
 

复制代码 代码示例:
SELECT  AVG(DISTINCT prod_price)  AS  avg_price
FROM  products
WHERE  venid_id = 1003;
 

3,组合聚集函数
 

复制代码 代码示例:
SELECT  COUNT(*)  AS  num_items,
     MIN(prod_price)  AS  price_min,
     MAX(prod_price)  AS  price_max,
     AVG(prod_price)  AS  price_avg
FROM  products;