操作符
|
说明
|
+
|
加
|
减
|
|
*
|
乘
|
/
|
除
|
-
SQL如何创建计算字段
2020-05-08 11:52:48创建计算字段拼接字段删除右侧多余空格执行算术计算MySQL算术符 拼接字段 拼接(concatenate) 将值联结到一起构成单个值。 在MySQL的SELECT语句中,可使用Concat()函数来拼接两个列。 输入 SELECT Concat(vend_name...拼接字段
拼接(concatenate) 将值联结到一起构成单个值。
在MySQL的SELECT语句中,可使用Concat()函数来拼接两个列。
输入
SELECT Concat(vend_name, '(',vend_country,')') FROM vendors ORDER BY vend_name;
+-----------------------------------------+ | Concat(vend_name, '(',vend_country,')') | +-----------------------------------------+ | Bear Emporium(USA) | | Bears R Us(USA) | | Doll House Inc.(USA) | | Fun and Games(England) | | Furball Inc.(USA) | | Jouets et ours(France) | +-----------------------------------------+
分析:Concat()拼接串,即把多个串连接起来形成一个串。Concat()需要一个或者多个指定的串,各个串之间用逗号分隔。
上面的SELECT语句连接以下4个元素。
存储在vend_name列中的名字;
包含一个空格和一个左圆括号的串;
存储在vend_country列中的国家;
包含一个右圆括号的串。删除右侧多余空格
可以使用MySQL的RTrim()函数来完成。
输入
SELECT Concat(RTrim(vend_name), '(',vend_country,')') FROM vendors ORDER BY vend_name;
+------------------------------------------------+ | Concat(RTrim(vend_name), '(',vend_country,')') | +------------------------------------------------+ | Bear Emporium(USA) | | Bears R Us(USA) | | Doll House Inc.(USA) | | Fun and Games(England) | | Furball Inc.(USA) | | Jouets et ours(France) | +------------------------------------------------+
分析:RTrim()函数去掉右边的所有空格。通过使用RTrim(),各个列进行了整理。
执行算术计算
计算字段的另一常见用途是对检索出的数据进行算术计算。
orders表包含收到的所有订单,orderitems表包含每个订单中的各项物品。下面的SQL语句检索订单号20005中的所有物品:
输入
SELECT prod_id,quantity,item_price FROM orderitems WHERE order_num = 20008;
输出
+---------+----------+------------+ | prod_id | quantity | item_price | +---------+----------+------------+ | RGAN01 | 5 | 4.99 | | BR03 | 5 | 11.99 | | BNBG01 | 10 | 3.49 | | BNBG02 | 10 | 3.49 | | BNBG03 | 10 | 3.49 | +---------+----------+------------+
item_price列包含订单中每项物品的单价。如下汇总物品的价格(单价乘以订购数量):
输入
SELECT prod_id, quantity, item_price, quantity*item_price AS expanded_price FROM orderitems WHERE order_num = 20005;
输出
+---------+----------+------------+----------------+ | prod_id | quantity | item_price | expanded_price | +---------+----------+------------+----------------+ | RGAN01 | 5 | 4.99 | 24.95 | | BR03 | 5 | 11.99 | 59.95 | | BNBG01 | 10 | 3.49 | 34.90 | | BNBG02 | 10 | 3.49 | 34.90 | | BNBG03 | 10 | 3.49 | 34.90 | +---------+----------+------------+----------------+
分析:输出中显示的expanded_price列为一个计算字段,此计算为quantity*item_price。
MySQL算术符
操作符 说明 + 加 _ 减 * 乘 / 除 如何测试计算
SELECT提供了测试和试验函数与计算的一个很好的办法。虽然SELECT通常用来从表中检索数据,但可以省略FROM子句以便简单地访问和处理表达式。
例如 SELECT 3*2;将返回6,
SELECT Trim(‘abc’);将返回abc,
而SELECT Now()利用Now()函数返回当前日期和时间。通过这些例子,
可以明白如何根据需要使用SELECT进行试验。 -
第十章 创建计算字段
2018-10-23 17:02:00如何创建计算字段以及怎样从应用程序中使用别名引用它们。 计算字段: 存储在表中的数据都不是应用程序所需要的。我们需要直接从数据库中检索出转换、计算或格式化过的数据;而不是检索出数据然后再在客户机应用...学习目的:如何创建计算字段以及怎样从应用程序中使用别名引用它们。计算字段:存储在表中的数据都不是应用程序所需要的。我们需要直接从数据库中检索出转换、计算或格式化过的数据;而不是检索出数据然后再在客户机应用程序或报告程序中重新格式化。计算字段并不实际存在于数据库表中,计算字段是运行时在SELECT语句内创建的。字段(field)基本上与列(colunm)的意思相同,经常互换使用。不过数据库列一般称为列,而术语字段通常用在计算字段的连接上。拼接字段 :15:00拼接(concatenate)将值联结到一起构成单个值。Q:假如要生成一个供应商报表, 需要在供应商的名字中按照name(location)这样的格式列出供应商的位置。A:解决办法是把两个列拼接起来。在MySQL的SELECT语句中,可使用Concat()函数来拼接两个列。多数DBMS使用+或||来实现拼接,MySQL则使用Concat()函数来实现。SELECT Concat(vend_name,'(',`vend_country`,')')FROM vendorsORDER BY vend_name;Concat()需要一个或多个指定的串,各个串之间用逗号分隔。删除数据右侧多余的空格使用函数Rtrim()。Ltrim()删除数据左边的空格。Trim()删除数据两端的空格。使用别名:Q:SELECT语句拼接地址字段工作做得很好,但是实际上它并没有名字,它是一个值。如果仅在SQL查询工具中查看一下结果,这并没有什么不好,但是,一个未命名的列不能用于客户机应用中,因为客户机没有办法引用它。A:为了解决这个问题,SQL支持别名。别名(alias)是一个字段或值的替换名。别名用AS关键字赋予。SELECT CONCAT(RTrim(vend_name),' (',RTrim(vend_country),')') AS vend_titleFROM vendorsORDER BY vend_name;别名的其他用途,常见用途包括在实际的表列名包含不符合规定的字符(如空格)时重新命名它;在原本的名字含混或容易误解时扩充它等导出列:别名有时候也称为导出列(derived column)。执行算术计算:计算字段的另一种常见用途是对检索出的数据进行算术计算。检索订单号20005中的所有物品 ?SELECT prod_id, quantity,item_priceFROM orderitemsWHERE order_num = 20005;SELECT prod_id, quantity,item_price,quantity*item_price AS expanded_priceFROM orderitemsWHERE order_num = 20005;MySQL算术操作运算符:如何测试计算:SELECT通常用来从表中检索,但可以省略FROM子句以便简单地访问和处理表达式。如SELECT 3*2,将返回6SELECT Trim('abc'),将返回abcSELECT Now(),返回当前日期和时间。转载于:https://www.cnblogs.com/mumulin99/p/9837750.html
-
第七课 创建计算字段
2017-09-25 21:36:14第七课学习什么是计算字段,如何创建计算字段,以及如何从应用程序中使用别名引用它们。 7.1、计算字段 计算字段并不实际存在于数据库表中。计算字段是运行时在SELECT语句内创建的; 字段(field):基本上与列...第七课 创建计算字段
预习与回顾:
第六课学习了什么是通配符,如何在WHERE子句中使用SQL通配符,以及通配符的慎用;第七课学习什么是计算字段,如何创建计算字段,以及如何从应用程序中使用别名引用它们。
7.1、计算字段
计算字段并不实际存在于数据库表中。计算字段是运行时在SELECT语句内创建的;
字段(field):基本上与列(column)的意思相同,经常互换使用,不过数据库列一般称为列,而术语字段通常与计算字段一起使用。
7.2、拼接字段
拼接(concatenate):将值联结到一起(将一个值附加到另一个值)构成单个值。操作符可用加号(+)或两个竖杠(||)表示。
输入▼
SELECT vend_name + ' (' + vend_country + ')'
FROM Vendors
ORDER BY vend_name;正确返回格式化的数据,必须去掉这些空格。这可以使用SQL的RTRIM()函数来完成。
输入▼
SELECT RTRIM(vend_name) + ' (' + RTRIM(vend_country) + ')'
FROM Vendors
ORDER BY vend_name;TRIM函数
大多数DBMS都支持RTRIM()(正如刚才所见,它去掉字符串右边的空格)、LTRIM()(去掉字符串左边的空格)以及TRIM()(去掉字符串左右两边的空格)。SQL支持列别名。别名(alias)是一个字段或值的替换名。别名用AS关键字赋予。
输入▼
SELECT RTRIM(vend_name) + ' (' + RTRIM(vend_country) + ')'
AS vend_title
FROM Vendors
ORDER BY vend_name;AS通常可选在很多DBMS中,AS关键字是可选的,不过最好使用它,这被视为一条最佳实践。
7.3、执行算术计算
对检索出的数据进行算术计算,
输入▼
SELECT prod_id, quantity, item_price
FROM OrderItems
WHERE order_num = 20008;检索订单号20008中的所有物品:
输入▼
SELECT prod_id,
quantity,
item_price,
quantity*item_price ASexpanded_price
FROM OrderItems
WHERE order_num = 20008;汇总物品的价格(单价乘以订购数量):
如何测试计算
SELECT语句为测试、检验函数和计算提供了很好的方法。虽然SELECT通常用于从表中检索数据,但是省略了FROM子句后就是简单地访问和处
理表达式,例如SELECT 3 *2;将返回6,SELECT Trim(' abc ');将返回abc,SELECTNow();使用Now()函数返回当前日期和时间。 -
【MySQL】创建计算字段
2021-01-26 21:46:19本文介绍什么是计算字段,如何创建计算字段以及怎样从应用程序中使用别名引用它们。 计算字段 存储在数据库表中的数据一般不是应用程序所需要的格式。下面举几个例子。 如果想在一个字段中既显示公司名,又显示公司...
本文介绍什么是计算字段,如何创建计算字段以及怎样从应用程序中使用别名引用它们。计算字段
存储在数据库表中的数据一般不是应用程序所需要的格式。下面举几个例子。
- 如果想在一个字段中既显示公司名,又显示公司的地址,但这两个信息一般包含在不同的表列中。
- 城市、州和邮政编码存储在不同的列中(应该这样),但邮件标签打印程序却需要把它们作为一个恰当格式的字段检索出来。
- 列数据是大小写混合的,但报表程序需要把所有数据按大写表示出来。
- 物品订单表存储物品的价格和数量,但不需要存储每个物品的总价格(用价格乘以数量即可)。为打印发票,需要物品的总价格。
- 需要根据表数据进行总数、平均数计算或其他计算。
在上述每个例子中,存储在表中的数据都不是应用程序所需要的。我们需要直接从数据库中检索出转换、计算或格式化过的数据;而不是检索出数据,然后再在客户机应用程序或报告程序中重新格式化。
这就是计算字段发挥作用的所在了。与前面各文章介绍过的列不同,计算字段并不实际存在于数据库表中。计算字段是运行时在SELECT语句内创建的。
字段(field) 基本上与列( column) 的意思相同,经常互换使用,不过数据库列一般称为列,而术语字段通常用在计算字段的连接上。
字段(field) 基本上与列( column) 的意思相同,经常互换使用,不过数据库列一般称为列,而术语字段通常用在计算字段的连接上。
客户机与服务器的格式 可在SQL语句内完成的许多转换和格式化工作都可以直接在客户机应用程序内完成。但一般来说,在数据库服务器上完成这些操作比在客户机中完成要快得多,因为DBMS是设计来快速有效地完成这种处理的。
拼接字段
为了说明如何使用计算字段,举一个创建由两列组成的标题的简单例子。
vendors表包含供应商名和位置信息。假如要生成一个供应商报表,需要在供应商的名字中按照name(location)这样的格式列出供应商的位置。此报表需要单个值,而表中数据存储在两个列vend_name和vend_country中。此外,需要用括号将vend_country括起来,这些东西都没有明确存储在数据库表中。我们来看看怎样编写返回供应商名和位置的SELECT语句。
拼接(concatenate) 将值联结到一起构成单个值。
解决办法是把两个列拼接起来。在MySQL的SELECT语句中,可使用Concat()函数来拼接两个列。
友情提示:MySQL的不同之处 多数DBMS使用+或||来实现拼接,MySQL则使用Concat()函数来实现。当把SQL语句转换成MySQL语句时一定要把这个区别铭记在心。
select Concat(vend_id,'(,vend_country,)') from vendors order by vend_name;
Concat()拼接串,即把多个串连接起来形成一个较长的串。Concat()需要一个或多个指定的串,各个串之间用逗号分隔。上面的SELECT语句连接以下4个元素:- 存储在vend_name列中的名字;
- 包含一个空格和一个左圆括号的串;
- 存储在vend_country列中的国家;
- 包含一个右圆括号的串。
通过删除数据右侧多余的空格来整理数据,这可以**使用MySQL的RTrim()**函数来完成,如下所示:
RTrim()函数去掉值右边的所有空格。通过使用RTrim(),各个列都进行了整理。
select Concat(RTrim(vend_name),'(',RTrim(vend_country),')') from vendors order by vend_name;
Trim函数 MySQL除了支持RTrim()(正如刚才所见,它去掉串右边的空格),还支持LTrim()(去掉串左边的空格)以及Trim()(去掉串左右两边的空格)。使用别名
从前面的输出中可以看到, SELECT语句拼接地址字段工作得很好。但此新计算列的名字是什么呢?实际上它没有名字,它只是一个值。如果仅在SQL查询工具中查看一下结果,这样没有什么不好。但是,一个未命名的列不能用于客户机应用中,因为客户机没有办法引用它。
为了解决这个问题, SQL支持列别名。 别名( alias) 是一个字段或值的替换名。别名用AS关键字赋予。请看下面的SELECT语句:
select Concat(RTrim(vend_name),'(',RTrim(vend_country),')') as vend_title from vendors order by vend_name;
SELECT语句本身与以前使用的相同,只不过这里的语句中计算字段之后跟了文本AS vend_title。它指示SQL创建一个包含指定计算的名为vend_title的计算字段。从输出中可以看到,结果与以前的相同,但现在列名为vend_title,任何客户机应用都可以按名引用这个列,就像它是一个实际的表列一样。
别名的其他用途 别名还有其他用途。常见的用途包括在实际的表列名包含不符合规定的字符(如空格)时重新命名它,在原来的名字含混或容易误解时扩充它,等等。执行算术计算
计算字段的另一常见用途是对检索出的数据进行算术计算。举一个例子, orders表包含收到的所有订单, orderitems表包含每个订单中的各项物品。下面的SQL语句检索订单号20005中的所有物品:
select prod_id,quantity,item_price from orderitems where order_num =20005;
item_price列包含订单中每项物品的单价。如下汇总物品的价格(单价乘以订购数量):
select prod_id,quantity,item_price,quantity*item_price as expanded_price from orderitems where order_num = 20005;
输出中显示的expanded_price列为一个计算字段,此计算为quantity*item_price。客户机应用现在可以使用这个新计算列,就像使用其他列一样。
MySQL支持如下表中列出的基本算术操作符。此外,圆括号可用来区分优先顺序。
如何测试计算 SELECT提供了测试和试验函数与计算的一个很好的办法。虽然SELECT通常用来从表中检索数据,但可以省略FROM子句以便简单地访问和处理表达式。例如, SELECT3*2;将返回6, SELECT Trim(‘abc’);将返回abc,而SELECTNow()利用Now()函数返回当前日期和时间。通过这些例子,可以明白如何根据需要使用SELECT进行试验。
-
MySQL数据库——创建计算字段
2017-12-11 21:33:42本节将介绍什么事计算字段,如何创建计算字段以及怎样从应用程序中使用别名引用他们 。 简单说,计算字段其实就是一段各个列的信息集合,这个集合实际并不存在与数据库表中吗计算字段是运行时在SELECT语句内创建的 ... -
第7课 创建计算字段
2020-04-25 17:21:21这一课介绍什么是计算字段,如何创建计算字段,以及如何从应用程序中使用别名引用它们。 7.1 计算字段 存储在数据库表中的数据一般不是应用程序所需要的格式,下面举几个例子。 1.需要显示公司名,同时还需要显示... -
MySQL必知必会 -- 创建计算字段
2020-08-04 19:01:17本章介绍什么是计算字段,如何创建计算字段以及怎样从应用程序 中使用别名引用它们。 -
MySQL必知必会——第10章 创建计算字段
2019-10-21 11:24:17主要介绍什么是计算字段,以及如何创建计算字段,说明了计算字段在串拼接和算术计算的用途,还学习了如何创建和使用别名 -
SQL必知必会总结7 创建计算字段
2020-05-30 22:48:54什么是计算字段,如何创建计算字段,以及如何从应用程序 中使用别名引用它们。 7.1 计算字段 存储在数据库表中的数据一般不是应用程序所需要的格式,与前几课介绍的列不同,计算字段并不实际存在于数据库表中。计算... -
学习笔记 | Ch07-08 创建计算字段、使用函数处理数据
2020-01-20 17:29:25这一课介绍什么是计算字段,如何创建计算字段,以及如何从应用程序中使用别名引用它们。 7.1 计算字段 我们需要直接从数据库中检索出转换、计算或格式化过的数据,而不是检索出数据,然后再在客户端应用程序中重新... -
SQL必知必会 第七课 笔记——创建计算字段
2018-06-01 20:11:42第7课 创建计算字段这一课介绍什么是计算字段,如何创建计算字段,以及如何从应用程序中使用别名引用它们。7.1 计算字段 目的:存储在数据库表中的数据一般不是应用程序所需要的格式,我们需要直接从数据库中检索出... -
【MySQL必知必会】第10章-创建计算字段
2020-04-02 22:10:10本章介绍什么是计算字段,如何创建计算字段以及怎样从应用程序中使用别名引用它们。 计算字段 存储在数据库表中的数据一般不是应用程序所需要的格式。 比如,公司名和公司地址在不同的列,我们要把其组合在一起。 ... -
第七章 创建计算字段
2017-07-06 17:00:04本章介绍计算字段,如何创建以及从应用程序使用别名引用它们 1. 我们需要直接从数据库中检索出转换、计算或格式化过得数据。 2. 字段(field):基本上与列(column)的意思相同,经常互换使用,不过数据库列一般... -
如何从报表脚本FastReport .Net在矩阵中创建计算字段
2019-10-01 23:31:27让我们看一下使用报表脚本将计算字段添加到矩阵的方法示例。创建报表并将矩阵对象添加到“Data”区域。如您所知,要创建列,排水或单元格,您需要将表达式拖动到相应的区域。表达式可以是:数据字段,函数,变量,... -
MySQL 第8章、第9章、第10章 用通配符进行过滤、用正则表达式进行搜索、创建计算字段
2020-03-12 16:14:28MySQL 第8章、第9章、第10章 用通配符进行过滤、用正则表达式进行搜索、创建计算字段用通配符进行过滤LIKE操作符百分号(%)通配符下划线(_)通配符使用通配符的技巧正则表达式正则表达式介绍使用MySQL正则表达式... -
如何在Delphi中用代码来完成计算字段的创建
2017-12-22 01:10:07以前CSDN上有好多人问过这个问题,但是好象没有人给出满意的答案。我也是经过好长时间摸索才找到答案,现在在这给大家分享: ...//表中有两字段SName,Birth,现在我们动态生成一个计算字段Age,显示出年龄 -
【MySQL必知必会(七)】【创建计算字段】
2020-09-24 13:53:29本章介绍如何在MySQL WHERE子句内使用正则表达式来更好地控制数据过滤。 -
mysql 计算字段所有_如何计算MySQL中字段的所有行中的所有字符?
2021-01-28 13:12:44语法如下,以计算字段所有行中的所有字符-selectsum(char_length(yourColumnName))ASanyAliasNamefromyourTableName;为了理解上述语法,让我们创建一个表。创建表的查询如下-mysql>... -
SQL 包你会-------如何计算字段?
2018-12-04 15:14:007 创建计算字段 7.1 计算字段 存储在数据库表中的数据一般不是应用程序锁需要的格式。 我们需要从数据库中检索出的,经过转换,计算,或者格式化过的数据。 只有数据库知道select语句中那些列是实际的表列,那些列... -
Dynamics CRM使用计算字段自动计算两个时间字段的天数差
2018-03-19 16:25:21计算字段很久之前就已推出,不是最近出的新功能,本篇要讲的是如何利用计算字段来计算两个时间段之间的时间差(本文以天数举例,当然也可以小时或者分钟)。 我这里建了一个类型是整数的字段,当然你也可以建成浮点数...
-
记录一下leetcode:1178猜字谜
-
编程训练第十三期——在排序数组中查找元素的第一个和最后一个位置
-
一节课轻松通关 Spark
-
jtpm1是什么接口
-
PHP base64 编码转化图片并进行指定路径的保存和上传处理
-
MySQL 高可用(DRBD + heartbeat)
-
Mycat 实现 MySQL的分库分表、读写分离、主从切换
-
MHA 高可用 MySQL 架构与 Altas 读写分离
-
TeamFoundationServer2010Scrum1.0与持续集成的最佳实践
-
3.springmvc--数据绑定
-
朱老师C++课程第3部分-3.6智能指针与STL查漏补缺
-
了解SQLServer触发器及触发器中的事务
-
虚函数,虚表深度剖析
-
货币转换微服务:使用Spring Cloud的货币转换微服务-源码
-
零基础入门语义分割-地表建筑物识别参赛记录(三)常见网络
-
时间片轮询的任务调度方法(一)
-
关于计算机学习的一些思考
-
大尺寸薄壳物体表面的三维光学自动检测
-
记录10天刷完PAT的过程
-
vs中代码都正确,为什么编译不通?变量定义没放在前面?