MySQL基本操作(二)MySQL函数

人走茶凉 提交于 2019-12-24 12:11:15

MySQL函数

1、文本处理函数

Left()                       返回串左边的字符
Right()                      返回串右边的字符
Length()                     返回串的长度
Locate()                     找出串的一个子串
Lower()                      将串转换为小写
Upper()                      将串转换为大写
LTrim()                      去掉串左边的空格
RTrim()                      去掉串右边的空格
Trim()                       去掉串两边的空格
Soundex()                    返回串的同音值
Substring()                  返回子串的字符
SELECT1,Upper(列2AS 列名 FROM 表名 # Upper将文本转化成大写字母

SELECT cust_name,cust_contact 
FROM customers
WHERE Soundex(cust_contact)= Soundex('Y.lie'); # Soundex返回Y.lie的同音值

2、日期和时间处理函数

注:无论是插入表、更新表还是WHEREguol查询等,MySQL中日期格式保持 “yyyy-mm-dd”,消除歧义。

AddDate(date,Interval n type)           增加一个日期(天,周等)
AddDate(date,days)                      增加days天
AddTime(date,second)                    增加一个时间(时,分等)
SubDate(date,Interval n type)           减少一个日期(天,周等)
CurDate()                               返回当前日期
CurTime()                               返回当前时间
Date()                                  返回日期时间的日期部分
DateDiff()                              计算两个日期之差
Date_Add()                              高度灵活的日期计算函数
Date_Format()                           返回一个格式化的日期或时间串
Day()                                   返回日期的天数部分
DayOfWeek()                             返回日期对应星期几
Month()                                 返回日期的月份部分
Year()                                  返回日期的年份部分
Now()                                   返回当前日期和时间
Time()                                  返回日期和时间的时间部分
Hour()                                  返回时间的小时部分
Minute()                                返回时间的分钟部分
Second()                                返回时间的秒部分
SELECT cust_id,order_num
FROM orders
WHERE Year(order_date)=2005 AND Month(order_date)=9;

--检索出2005年9月份下的所有订单

SELECT cust_id,order_num
FROM orders
WHERE Date(order_date) BETWEEN '2005-09-01' AND '2005-09-30'; 

3、数值处理函数

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

4、聚集函数

AVG()                                  返回某列平均值
COUNT()                                返回某列行数
MAX()                                  返回某列最大值
MIN()                                  返回某列最小值
SUM()                                  返回某列之和
SELECT AVG (DISTINCT prod_price) AS avg_price FROM products;

AVG() 只能用来确定特定数值列的平均值,若想获得多列平均值,需使用多个AVG()函数;
DISTINCT去重,只能用于指定列名,不能用于*、计算或表达式。

SELECT COUNT (*) AS num_cust FROM customers;
SELECT COUNT (cust_email) AS num_cust FROM customers;

COUNT(*) 对表中行数目进行计数,包含空值(NULL);
COUNT(列名) 对表中行数目进行计数,不包含指定列的空值(NULL)。

SELECT MAX(prod_price) AS max_price FROM products;

MAX()、MIN() 要求指定列名,忽略列值为NULL的行;
MAX()在用于文本数据时,返回排序后的最后一行,MIN()返回排序后的最前面一行。

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

SUM()函数忽略列值为NULL的行。

利用标准的算术操作符,所有聚集函数都可用来执行多个列上的计算。
DISTINCT去重,只能用于指定列名,不能用于*、计算或表达式。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!