当前位置:网站首页>MySQL查漏补缺(三) 计算字段
MySQL查漏补缺(三) 计算字段
2022-08-09 09:07:00 【胡乐天】
创建计算字段
存储在数据库表中的数据不是一般应用程序所需要的格式,这时候就需要我们进行计算,获取到想要的数据格式。
例如:
如果想在一个字段中既显示公司名字,又显示公司地址,但是这两个信息包含在不同的表列中。
上述例子,存储在表中的数据都不是应用程序所需要的,我们需要直接从数据库中检索出转换、计算或格式化过的数据,而不是检索出数据,然后再在客户机应用程序或报告程序中重新格式化。
这就是计算字段发挥的作用了。计算出来的字段并不直接存在于数据库表中。计算字段是运行时在SELECT语句内创建的。
术语解释(字段)
字段基本上与列(column)的意思相同,经常互换使用,不过数据库列一般称为列,而术语字段常用在计算字段的连接上。
注:
只有数据库知道SELECT语句中哪些列是实际的表列,哪些列是计算字段。从客户机(如应用程序)的角度来看,计算字段的数据是以与其他列的数据相同的方式返回。
一、拼接字段
拼接所谓的就是连接,将两个或者以上的字段进行相连接,以此构成单个值。MySQL中使用concat()函数来实现,其余的多数DBMS使用+或者||来实现。其中Oracle中连接字段可以使用concat()或者||来实现。
select concat(company_name,',',company_address) from company_info
分析:
这条语句要查询的是公司信息表中的连接字段,连接的字段为:公司名称+逗号+公司地址。
注意:
若想去除表格列两侧的空格在进行连接,可以使用trim()函数。若只想去除右边的空格,使用函数Rtrim(),若只想去除左侧的空格,使用函数Ltrim()。
拼接的字段名字是什么?其实他没有名字,这时候我们要是想在应用程序中进行获取,就比较费时,此时我们可以给他指定别名。
例如给以上公司 名称和公司地址的连接字段指定别名:companyInfo
select concat(company_name,',',company_address) as companyInfo from company_info select concat(company_name,',',company_address) companyInfo from company_info以上两句SQL达到的效果是一样的,只是说第二条语句省略了关键字as。这样以后,任何客户机应用程序都可以使用companyInfo来引用这个列了,就和实际的表列一样。
二、算数计算
计算字段另一常见的用途就是对检索出来的数据进行算数计算,即加减乘除。
例如:
例如一张商品购物记录表,表的列中含有订单号、商品名称、商品单价、商品数量,现要查询订单号(201542)购买的商品及该商品花费的金额。
select item_name,item_number*item_price as totalPrice
from order_info
where order_number= '201542'
MySQL支持基本算数操作符,即加减乘除(±*/),此外还可以使用小括号来区分优先顺序。一般在应用开发中,若牵扯到基本运算的优先级问题,建议使用小括号进行编程,这样看着即明确,出错率也小。
边栏推荐
猜你喜欢
随机推荐
代码导读-目录
RESTful
The difference between big-endian and little-endian storage is easy to understand at a glance
【CNN】2022 ECCV 对比视觉Transformer的在线持续学习
[漏洞复现]CVE-2018-12613(远程文件包含)
数理逻辑MOOC+知识点总结(未完无待续)
Es6连续解构赋值+重命名
uniapp编译到小程序后丢失static文件夹问题
【场景化解决方案】搭建数据桥梁,Dslink打通泛微系统连接流
算术表达式求值演示
QT设置exe可执行文件的图标
Makefile中的%标记和系统通配符*的区别
【Pytorch】安装mish_cuda
嵌入式之串口中断只能收到一个字节
define 可变参数定义
ctf misc 图片题知识点
DeFi 项目中的治理Token
政务中心导航定位系统,让高效率办事成为可能
MySQL创建索引的技巧
法院3D导航系统-轻松实现室内实时定位导航



![[Vulnerability reproduction] CVE-2018-12613 (remote file inclusion)](/img/0b/707eb4266cb5099ca1ef58225642bf.png)





