博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQL学习之计算字段的用法与解析
阅读量:6640 次
发布时间:2019-06-25

本文共 1180 字,大约阅读时间需要 3 分钟。

一、计算字段

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,完成需求!

 

转载地址:http://pcovo.baihongyu.com/

你可能感兴趣的文章
JavaScript对象的几种创建方式
查看>>
Linux进程间通信——使用信号量
查看>>
xpath提取多个html标签text
查看>>
android中webservce获取soapObject数据的解析问题
查看>>
[120_移动开发Android]004_android开发之单元测试
查看>>
Java加密算法(二)——对称加密算法DES&AES
查看>>
最少换乘
查看>>
centos 7 安装MySql
查看>>
LeetCode: Adding two numbers (by list)
查看>>
Hibernate查询 内连接和外连接区别
查看>>
1068. [SCOI2007]压缩【区间DP】
查看>>
下载远程(第三方服务器)文件、图片,保存到本地(服务器)的方法、保存抓取远程文件、图片...
查看>>
Docker四种网络模式
查看>>
c:url标签
查看>>
Silverlight-Validation服务器端异步数据验证
查看>>
最新VIN(车辆识别码)解析
查看>>
ubuntu下出现的问题-控制台更新源失败
查看>>
获得user account的SID,GUID
查看>>
SkyLine二次开发——解决在web页面启动时自动运行TerraExplorer的问题
查看>>
[转载]我们可以用SharePoint做什么
查看>>