MySQL
一,计算字段
储存在表中的数据不一定是应用程序想要的模式,所以我们需要在数据库中检索出转换、计算或格式化过的数据。
字段(field):在SQL中约等于 列(column),由此,计算字段约等于计算列
计算字段:
在 SELECT 语句中创建,在数据表中并没有实际存在,只是一个运算过程
相当于通过对列的运算,形成一个新的列
①拼接字段:
拼接:将值联结到一起构成单个值
运用Concat()函数来实现
例:
Trim(),LTrim(),RTrim():
去掉串两边、左边、右边的空格
②使用别名
所得到的计算字段只是一个值,为了让客户机能引用它,给它一个别名(alias),用关键字AS赋予
例:
执行算术计算:
如:
SELECT prod_id,
quantity,
item_price,
quantity*item_price AS expanded_price
FROM orderitems
MySQL支持+,-,*,/
等基本运算符
二,数据处理函数
函数分类:
- 文本函数:处理文本串
- 数值函数:对数值数据进行算术操作的算术函数
- 日期和时间函数:处理日期和时间值
- 系统函数:返回DBMS相关信息
①文本函数
这些函数参数皆为文本值
函数 | 说明 |
---|---|
Left() | 返回串左边的字符 |
Right() | 返回串右边的字符 |
Length() | 返回串的长度 |
Locate() | 找出串的一个子串 |
Lower() | 将串转换为小写 |
upper() | 将串转换为大写 |
LTrim() | 去掉串左边的空格 |
RTrim() | 去掉串右边的空格 |
Soundex() | 返回串的SOUNDEX值 |
SubString() | 返回子串的字符 |
SOUNDEX:一串描述串的发音的字母数字
参见:SOUNDEX
②日期和时间处理函数
MySQL日期格式yyyy-mm-dd
//不推荐
SELECT cust_id, order_num
FROM orders
WHERE order_date = '2005-09-01';
//推荐
SELECT cust_id, order_num
FROM orders
WHERE DATE(order_date) = '2005-09-01';
//返回九月的内容
SELECT cust_id, order_num
FROM orders
WHERE DATE(order_date) = BETWEEN '2005-09-01' AND '2005-09-30';
//返回九月的内容
SELECT cust_id, order_num
FROM orders
WHERE Year(order_date) = 2005 AND Month(order_date) = 9;
③数值处理函数
④聚集函数
运行在行组上,计算和返回单个值的函数
用于汇总数据
函数 | 说明 |
---|---|
AVG() | 返回某列的平均值 |
COUNT() | 返回某列的行数 |
MAX() | 返回某列最大值 |
MIN() | 返回某列最小值 |
SUM() | 返回某列值之和 |
AVG():
SELECT AVG(列名称) AS (别名