计算字段
例:物品订单表-
物品的价格
和数量
,需要返回物品的总价,总价就是需要计算的返回字段,返回字段名,自定义。
计算字段:计算可以是算术计算,也可以是函数计算。下面的例子是算术计算。
计算字段并不实际存在于数据库中,计算字段是在运行时SELECT语句中创建的。
SELECT
prod_id,
quantity,
item_price,
quantity*item_price AS total_price
FROM
orderitems
WHERE
order_num = 20005
- 拼接方法用于字段计算(concat),函数计算。
SELECT
Concat( name, ‘(’, id, ‘)’ ) AS user,
FROM
user_table
多数DBMS使用+或||来实现拼接,mysql则使用Concat方法来拼接
计算字段并不是实际存在于数据库表中,计算字段是运行时在SELECT语句内创建的。
计算字段是SELECT语句对返回字段的+,-,*,/,%计算或函数计算出来的列值,称为计算字段。
计算字段一般都要取别名,返回客户端,这样程序在能对其进行处理
数据库中的函数
说明:实际开发中,DBMS(数据库管理系统)有很多,不同的DBMS之间SQL具有较强的通用性,但每种DBMS都支持其他DBMS
不支持的函数,而且差异较大,所以函数的移植性比较差,如果系统在多种不同的数据库环境下运行,则尽量不要使用函数。
1、数据处理函数:(文本处理函数、日期时间处理函数、数值处理函数)
2、聚集函数:对分组数据的汇总、统计,计算和返回单个值的函数。AVG、COUNT、MAX、MIN、SUM
文本处理函数
concat(‘a’, ‘b’)
left(str,length),从左边截取length个字符串
right(str,length),从右边截取length个字符串
substring(str,index,length),截取字符串
replace(str,old,new),替换字符串,在数据库中数据整体错误的情况下,可以整体替换。
日期时间处理函数
AddDate(),增加一个日期
DateDiff(),计算两个日期的差
Date_Format,返回一个格式化的日期或时间串
DayOfWeek(),对于一个日期,返回对应的星期几
StrToDate(日期字符串,格式),把不规则的日期转换为标准格式。
数据库中的日期格式yyyy-mm-dd,以-作为区分。
例1:日期比较
SELECT
cust_id,order_num
FROM
orders
WHERE
Date(order_date) = ‘2005-09-01’
order_date:是一个timestamp类型,'2015-09-01 12:24:24',Date()方法的作用是取出日期进行比较,要不然匹配会出错.还有Time()方法。
例2:检索2月份的所有订单(日期的时间范围)
SELECT
cust_id,order_num
FROM
orders
WHERE
Year(order_date) = 2005 AND Month(order_date) = 2
例3:将时间当中的年月日截取,并返回
SELECT
extract(year from hiredate)
FROM
emp
month、day、hour、等
例4:将获取的日期格式化,并返回
SELECT
date_formate(createTime,’%Y年%m月%d日’)
FROM
item
例5:把不1规则日期转换成标准日期
SELECT
strtodate(‘25号12月2015年’,’%d号%m月%Y年’);
数值处理函数
Abs(),返回绝对值
Mod(),返回余数
聚集函数
运行在分组上,计算和返回单个值的函数。Mysql中介绍5个。
count(*):对表中行的数目进行计数,不管表列中包含的是null值还是非null值。
count(column):对特定的列中具有值的行进行计数,忽略null值。