SQL学习之计算字段的用法与解析
一、计算字段
1、存储在数据库表中的数据一般不是应用程序所需要的格式。大多数情况下,数据表中的数据都需要进行二次处理。下面举几个例子。
(1)、我们需要一个字段同时显示公司名和公司地址,但这两个信息存储在不同表的列中。
(2)、省份、城市、邮政编码存储在不同的列中(大多数情况下是这样),但邮件标签打印程序需要把它们作为一个有恰当顺序、格式的字段打印出来。
(3)、列数据是大小写混合的,但报表程序需要把所有的程序按大写表示出来。
(4)、物品订单表存储物品的价格和数量,不存储每个物品的总价格,但是打印发票需要物品的总价格。上述的例子中,存储在表中的数据都不是应用程序所需要的,我们需要从数据中检索出来、并转换、计算或格式化过的数据。而不是检索出来,再到客户端进行初始化。
这时,计算字段就可以派上用场了,计算字段并不实际存在与数据表中,计算字段是运行在SELECT语句内创建的。
字段:字段基本上与列的疑似相同,经常互换使用,不过数据库列一般称为列,而术语字段通常与计算字段一起使用。
这里需要注意:只有数据库的知道SELECT语句中哪些列是实际的表列,那些列是计算字段。从客户端(如Web应用程序)来看,计算字段的数据与其他列的数据的返回方式相同。
在SQL语句内可完成许多数据转换和格式化工作都可以直接在客户端应用程序中完成。但一般来说在数据库服务器上完成这些操作比在客户端中完成要快很多!
2、拼接字段
将两个或多个字段的值拼接到一起组成一个字段。代码如下
select * from dbo.student
现在有一个需求,一个报表需要一个字段包student_deatils含学生表的姓名,年龄,性别,作为学生的基本信息,下面是解决代码:
select sname +'('+ssex+','+CONVERT(varchar,sage)+')' as student_deatils from dbo.student
ok,完成需求
注意:不同的DBMS(数据库管理系统)使用字符串拼接的操作符不同,Acesss和SQL Server使用的是'+',DB2、Oracle、PostgreSQL、SQLite和Open Office Base使用 '||' 。MySql和MariaDB中必须使用特殊的函数。
3、计算字段进行算术运算
计算字段的另一种常见用途是对检索出的数据进行算术计算。如下代码:
select * from tb_order
现在由一个报表程序需要每个订单的订单编号、实际价格(单价*折扣)和总价格,解决代码如下:
select OrderId as 订单编号,price*quantity as 实际价格,price*quantity*ordercount as 总价格 from dbo.tb_order
ok,完成需求!
转自:https://www.cnblogs.com/GreenLeaves/p/5813012.html
转载于:https://www.cnblogs.com/xinliang1788/p/10757436.html
SQL学习之计算字段的用法与解析相关推荐
- SQL学习五、计算字段
文章最开始发布在简书,我自己又复制过来了,这篇文章简书的链接 很多时候,我们需要的数据比如详细地址,订单的总价等在数据库中可能存储在不同字段或不同表中,也可能需要对多个字段的数值进行运算得出.这种时候 ...
- python输入姓名年龄_【python学习】今天看看学习 %d ,%s, %f 等用法,下面的学习例子是说输入名字、年龄、工作,工资。并给出65岁退休还差多久的计算...
今天看看学习 %d ,%s, %f 等用法.%d 是占位符整数,%s 是占位符,%f 是浮点数.下面的学习例子是说输入名字.年龄.工作,工资.并给出65岁退休还差多久的计算.重点在于用占位符来prin ...
- SQL 必知必会·笔记5创建计算字段
字段(field) 基本上与列(column)的意思相同,经常互换使用,不过数据库列一 般称为列,而术语字段通常与计算字段一起使用. 拼接(concatenate) 将值联结到一起(将一个值附加到另一 ...
- sql update 多个字段_SQL学习之路-20190707
SQL 是一门 ANSI(American National Standards Institute 美国国家标准化组织)标准的计算机语言:为了与 ANSI 标准相兼容,它们必须以相似的方式共同地来支 ...
- mysql记录和字段_科学网—MySQL学习笔记:计算同一条记录内各字段之和,并判断是否归一 - 丁祥欢的博文...
★计算同一记录中不同字段之和 背景说明:MainDB表内有几十个字段用于存放配方数据,需要将它们加起来看看是否归一. 由于MySQL没有类似高版本Access那样的计算字段,因为需要用SQL语法来处理 ...
- SQL学习:not exists用法
SQL学习:not exists用法 与 not in 的效果一样, 但这个效率相对高一点 例如: a1表:id name 1 张三 2 李四 a2表:id name 1 张三 2 李四 刚使用的新手 ...
- 2字段添加注释_Tableau学习系列(7):计算字段
计算字段是使用函数和运算符构造公式,对数据源字段(包括维度.度量.参数等)进行重新定义的字段. 1 创建计算字段 这里使用自带超市的数据,对各省市销售额从高到低排序进行可视化,但是如果想对各省销售额划 ...
- SQL学习笔记6-决胜秋招
目录 第六章:决胜秋招 Section A 练习一: 各部门工资最高的员工(难度:中等) 练习二: 换座位(难度:中等) 练习三: 分数排名(难度:中等) 练习四:连续出现的数字(难度:中等) 练习五 ...
- SQL学习(2):大厂真题实例-视频平均播放进度
SQL学习(2):大厂真题实例-视频平均播放进度 题目来源:<牛客题霸:SQL大厂真题>: 01 某音短视频 SQL2 平均播放进度大于60%的视频类别 文章目录 SQL学习(2):大厂真 ...
最新文章
- python cv2 轮廓的包络 面积_Python 基于FIR实现Hilbert滤波器求信号包络详解
- 淘宝二面,面试官居然把TCP三次握手问的这么详细
- java lList Map Set总结
- 计算机考研学长学什么,研究生学长浅谈考研心得
- 新手怎么读懂一个中型的Django项目
- 【Java虚拟机】Java虚拟机深度讲解、VisualVM工具、JVM调优
- Android应用程序消息处理机制(Looper、Handler)分析
- Python+sklearn使用线性回归算法预测儿童身高
- python中list是链表吗_Python 链表(linked list)
- Postgres 数据库字符集更改 ERROR: new encoding (UTF8) is incompatible
- javaScript技巧表:单提交验证类[转载]
- 中国红色菜刀去后门(过狗)
- 观众喜欢,就有人说大陆人吃不起榨菜
- 关于Mybatis的一些问题
- js前端之浅拷贝与深拷贝
- 常见的html字体,网页设计中最常用的字体有哪些
- 此计算机上缺少vc2005_sp1_with_atl_fix_redist
- 切比雪夫多项式拟合 matlab,如何用matlab实现多项式拟合?要源代码
- matlab模板图像匹配,基于Matlab 图像匹配――模板匹配
- julia安装源_在Linux系统中下载与安装Julia 1.0.1