当前位置:网站首页>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支持基本算数操作符,即加减乘除(±*/),此外还可以使用小括号来区分优先顺序。一般在应用开发中,若牵扯到基本运算的优先级问题,建议使用小括号进行编程,这样看着即明确,出错率也小。
边栏推荐
- XCTF College War "Epidemic" Network Security Sharing Competition Misc wp
- BUUCTF MISC刷题笔记(二)
- makefile的foreach、filter、filter-out函数
- BUUCTF MISC brush notes (2)
- The embedded serial port interrupt can only receive one byte
- Some of the topics in VNCTF2021 are reproduced
- 算术表达式求值演示
- 没有对象的可以进来看看, 这里有对象介绍
- 嵌入式之串口中断只能收到一个字节
- 【培训课程专用】CA/TA调用模型-代码导读
猜你喜欢

没有对象的可以进来看看, 这里有对象介绍

UE4 RTS frame selection function implementation

leetcode 33. 搜索旋转排序数组 (二分经典题)

大学四年不努力,出社会后浑浑噩噩深感无力,辞去工作,从头开始

腾讯云服务器修改为root登录安装宝塔面板

leetcode 37. 解数独 (困难)
![[Vulnerability reproduction] CVE-2018-12613 (remote file inclusion)](/img/0b/707eb4266cb5099ca1ef58225642bf.png)
[Vulnerability reproduction] CVE-2018-12613 (remote file inclusion)

一篇文章带你熟悉 TCP/IP 协议(网络协议篇二)

第五届蓝帽杯初赛 misc 赛后复现

Tencent cloud server is modified to root login to install pagoda panel
随机推荐
QT设置exe可执行文件的图标
[Vulnerability reproduction] CVE-2018-12613 (remote file inclusion)
C#学习笔记
Redis缓存设计
加密技术和电子竞技如何促进彼此的发展
往二维数组追加键值
Failed to mount component: template or render function not defined.
权限管理模型 ---- ACL、RBAC和ABAC(详解)
【CNN】白话迁移学习中域适应
常用SQL server语句
【LeetCode每日一题】——225.用队列实现栈
CPU主频 外频 芯片组 倍频 cache FSB PCI简介
数据治理(四):数据仓库数据质量管理
UE4 RTS frame selection function implementation
零搜索量的关键词,你需要布局吗?
verilog独热码实现译码MIPS指令集
Getting started with ctfshow-web Part of the file upload part solution
SQL语言中的distinct说明
政务中心导航定位系统,让高效率办事成为可能
QT程序生成独立exe程序(避坑版)