上回:《SQL必知必会》(4,5,6):过滤数据、高级数据过滤、通配符过滤
文章目录
- 第七课:创建计算字段
-
- 7.1 计算字段
- 7.2 拼接字段
-
- 使用别名
- 7.3 执行算数计算
- 7.4 小结
- 第八课:使用数据处理函数
-
- 8.1 函数
- 8.2 使用函数
-
- 8.2.1 文本处理函数
- 8.2.2 日期和时间处理函数
- 8.2.3 数值处理函数
- 8.3 小结
第七课:创建计算字段 7.1 计算字段 存储在数据库中的数据一般不是我们程序所需要的格式,如:
- 物品订单表存储物品的价格和数量,不存储每个物品的总价格(用价格乘以数量即可)。但为打印发票,需要物品的总价格。
- 需要根据表数据进行诸如总数、平均数的计算。
字段(field):基本上与列(column)的意思相同,经常互换使用。计算字段,说白了就是不能直接拿过来用,需要处理一下在传到客户端的。
7.2 拼接字段 举个栗子:
家庭住址,往往在数据库中不是一长串存储的,xx省xx市xx区xxxxx;涉及到表级约束,可以百度一下。一般省市等,也许在一个表中,单一的不在同一个列,这是一级约束,不可再分原则。
但是我们需要的数据,是那一长串的,我们需要在数据库中拿出这些数据,拼接一下,在传给客户端。
拼接(concatenate):将值联结到一起,构成单个值。select语句中,操作符可以使用
+
或 ||
。但是在MySQL中必须使用特殊的函数。文章图片
在MySQL中是这样的:
SELECT CONCAT(vend_name,'(',vend_country,')')
FROM vendors
ORDER BY vend_name;
文章图片
如果输出的数据有空格,可以使用trim() 函数来去除空格。
使用别名
语法 :as is 或者直接 空格跟别名三种一般都可以。
as应该是所以DBMS都支持的。
文章图片
这里就是直接使用空格。
7.3 执行算数计算 最常用的就是,小学数学问题:一直单价 数量,求总价。
SELECT prod_id,
quantity ,item_price,
quantity*item_price AS expanded_price
FROM OrderItems
WHERE order_num - 20008 ;
文章图片
提示:如何测试计算7.4 小结 别名很重要,可以简化我们sql的单词拼写,还增强了可读性。对数据库的本质没有改变,只是个相当于代号的东西。
SELECT语句为测试.检验函数和计算提供了很好的方法。虽然SELECT通常用于从表中检索数据,但是省略了FROM子句后就是简单地访问和处理表达式,例如SELECT 3*2; 将返回6,SELECT Trim(’ abc '); 将返回abc,SELECT Now(); 使用Now()函数返回当前日期和时间。现在你明白了,可以根据需要使用SELECT语句进行检验。
第八课:使用数据处理函数 8.1 函数 再熟悉不过了,从初中就开始接触,伴随到现在,函数就是一个方法的入口,包含着一系列底层的操作,执行相应的功能 有的可以返回需要的值。(我自己说的,可能不准确,不喜勿喷 哈哈)
前边说的trim() 去除空格的那个,那就是个函数,功能是去除空格。
8.2 使用函数 大多数DBMS都支持以下这些:
- 用于处理文本字符串(如删除或填充值,转换值为大写或小写)的文
本函数。 - 用于在数值数据上进行算术操作(如返回绝对值,进行代数运算)的
数值函数。 - 用于处理日期和时间值并从这些值中提取特定成分(如返回两个日期之差,检查日期有效性)的日期和时间函数。
- 返回DBMS正使用的特殊信息(如返回用户登录信息)的系统函数。
用的最多的。
文章图片
用法参考trim();
算了,还是来个栗子吧:
upper() 转大写
文章图片
8.2.2 日期和时间处理函数
日期和时间采用相应的数据类型存储在表中,每种 DBMS 都有自己的特殊形式。日期和时间值以特殊的格式存储,以便能快速和有效地排序或过滤,并且节省物理存储空间。
应用程序—般不使用日期和时间的存储格式,因此日期和时间函数总是用来读取、统计和处理这些值。由于这个原因,日期和时间函数在SQL中具有重要的作用。遗憾的是,它们很不一致,可移植性最差。
SELECT order_num,order_date FROM Orders
WHERE YEAR(order_date) = 2012;
文章图片
DBMS提供的功能远不止简单的日期成分提取。大多数DBMS具有比较日期、执行基于日期的运算、选择日期格式等的函数。但是,可以看到,不同DBMS的日期-时间处理函数可能不同。关于具体 DBMS支持的目期-时间处理函数,请参阅相应的文档。
8.2.3 数值处理函数
常用的:
文章图片
8.3 小结 【数据库|《SQL必知必会》(7,8)(创建计算字段、使用数据处理函数)】这—课介绍了如何使用SQL的数据处理函数。虽然这些函数在格式化、处理和过滤数据中非常有用,但它们在各种SQL实现中很不一致,毫无移植性可言,用DBMS的时候,多看看帮助文档。
推荐阅读
- Mysql|详解DAO类(数据库操作对象)
- 项目设计|网上体育商城的设计与实现
- Mysql|Mysql关于事务的几个常见概念
- 分布式|Redis 主从复制、哨兵、集群的部署
- 运维|Redis集群(一)
- 数据库|redis之主从复制、哨兵模式、群集模式
- OceanBase本周活动|从0到1数据库内核实战教程;对话ACE第五期;Meetup广州站
- OceanBase 数据库内核实战赛「推荐官」招募令发布,让身边的优秀选手C位出道!
- 数据库|基于MyCat实现的Mysql数据库的分库分表、全局表、父子表等