MySQL-创建计算字段
来源:互联网 发布:java 函数缺省参数 编辑:程序博客网 时间:2024/06/06 10:48
在谈计算字段之前,我们先想一想。储存在数据库中的原始表给我们提供了足够的数据,比如products表中就有商品id,商品名,供应商id,单价。但是实际生活中,比如超市收银员,他们在打单据的时候可不是直接提取原始表单打出来,而是打出一个有商品名,商品单价,和总价的新格式的表单。这个是数据库里没有的,这就是计算字段的用途,用来对原始数据进行加工,从而返回我们需要的表单数据和格式。
拼接字段
我们先进行一种叫作拼接的加工,就是把多个列的值拼成单个列。比如商品id和商品名是两列,现在我想得到形如“(商品id) 商品名”这种新格式的列。怎么做?我们用Concat()函数来拼接
SELECT Concat("(", prod_id, ")", " ", prod_name)FROM products;
现在我们就有了新的列,只不过这种列不存在于数据库中,而是在运行SELECT语句内创建的。
注意:只有数据库知道SELECT语句中用到的列哪些是原始列,哪些是计算字段。我们客户机看到的只是返回的数据列,哪知道哪个是原始的,哪个是计算加工过的?
上面我们已经拼接了一个计算字段,但是我们发现,看上去它的名字好像很长,但实际上,这个计算字段是没有名字的。一个未命名的列肯定不是一件好事,因此我们需要用AS来取个别名。
SELECT Concat("(", prod_id, ")", " ", prod_name) AS p_nameFROM products;
注:也可以用AS来重命名原始列名
算数计算
上面介绍的拼接,现在介绍的汇总。汇总嘛,就要用到计算了。我们现在有一个订单表,里面都是客户下的订单。现在我们来看一下订单号为20005的由产品id,产品单价,产品数量组成的表单。
SELECT prod_id, quantity, item_priceFROM orderitemsWHERE order_num = 20005;
我现在想新增加一列,作为每一个产品的总价
SELECT prod_id, quantity, item_price, quantity*item_price AS totalFROM orderitemsWHERE order_num = 20005;
SELECT测试
之前我们在正则表达式中已经提过了用SELECT进行测试,现在我们仍然可以用SELECT进行其他测试,比如计算。
SELECT 2*3;
SELECT rtrim("abc "); #去掉abc右边空格
SELECT "abc "; #不去掉
当然,还有神奇的now()函数来返回当前时间
SELECT now();
0 0
- MySQL-创建计算字段
- MySQL创建计算字段
- MySQL创建计算字段
- MySQL创建计算字段.md
- [MySQL必知必会]创建计算字段
- 《MySQL必知必会学习笔记》:创建计算字段
- MySQL数据库——创建计算字段
- MySQL创建计算字段——MySQL系列(五)
- MySQL学习足迹记录08--创建计算字段--Concat(),AS
- MYSQL学习笔记(六)创建计算字段
- 创建计算字段
- SQL 创建计算字段
- MySQL计算字段
- mysql计算字段
- 关于mysql字段计算
- mysql---计算字段
- [MYSQL-10]计算字段
- sql学习创建计算字段
- Struts入门
- cocos2d-JS导入demo工程
- 欢迎使用CSDN-markdown编辑器
- 利用html创建pdf文件
- 一个java白痴的努力录
- MySQL-创建计算字段
- 寻址存储器
- AIZU AOJ 2309 Vector Compression 最小树形图(朱—刘算法)
- 移植Freetype 到S3C2440
- 第八章:Java_泛型
- Java总结篇系列:Java泛型
- java实现二叉树的构建以及3种遍历方法
- 火车收集算法及其优点
- 《代码大全》读书笔记