当前位置:网站首页>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支持基本算数操作符,即加减乘除(±*/),此外还可以使用小括号来区分优先顺序。一般在应用开发中,若牵扯到基本运算的优先级问题,建议使用小括号进行编程,这样看着即明确,出错率也小。
边栏推荐
猜你喜欢
随机推荐
define 可变参数定义
【场景化解决方案】OA审批与金智CRM数据同步
CPU主频 外频 芯片组 倍频 cache FSB PCI简介
canal工作原理及简单案例演示
MySQL创建索引的技巧
leetcode 34. 在排序数组中查找元素的第一个和最后一个位置(二分经典题)
uniapp编译到小程序后丢失static文件夹问题
XCTF高校战“疫”网络安全分享赛Misc wp
XCTF College War "Epidemic" Network Security Sharing Competition Misc wp
go Antlr重构脚本解释器如何实现
不支持关键字: 'Provider'
Module模块化编程的优点有哪些
gin中模型中增删改查+搜索分页
Where does detection go forward?
探索APP性能优化之稳定性优化(解决方案)
VoLTE基础自学系列 | IMS的业务触发机制
UE4 RTS frame selection function implementation
Calendar类和Date类转换时区 && 部分时区城市列表
leetcode 37. 解数独 (困难)
H5页面px不对,单位不对等问题