1、准备数据2、拼接字段3、使用别名4、执行算术计算
在数据库中存储公司信息,一般用两个表列分别表示公司名和公司地址。 如果想要在一个字段中既显示公司名,又要显示公司地址,那么就需要对已有字段进行处理了,这个处理过程在检索时进行。在已有表列基础上通过一些处理得到的字段称为计算字段,计算字段是在 SELECT 语句内创建的。
字段(field) 基本上与列( column) 的意思相同,经常互换使用,不过数据库列一般称为列,而术语字段通常用在计算字段的连接上 。
在 http://www.generatedata.com/ 网站生成包含如图所示字段数据100条:
01_datagenerate
使用 《08 番外:随机生成数据库数据》中的方法,将数据导入 MySQL 中的 mysql_learn 数据库中,生成新表 warehouse。
现假定需要将 warehouse 表中的 vender_name 和 vender_country 列拼接起来,需要使用 MySQL 中的 Concat() 函数,
定义:CONCAT(s1,s2...sn)
功能:将字符串 s1,s2 等多个字符串合并为一个字符串。
SELECT
CONCAT( vender_name, '{', vender_country, '}' )
FROM
warehouse;
执行结果如图所示:
02_concat
从上面的执行结果可以看出, SELECT 的结果中字段名为 CONCAT( vender_name, '{', vender_country, '}' )
,显示的不是很友好,而且未命名的列不能被客户机引用。为了解决这个问题,SQL 支持列别名,别名(alias)是一个字段或值的替换名。
来看下面的 SELECT 语句:
SELECT
CONCAT( vender_name, '{', vender_country, '}' ) AS vender_title
FROM
warehouse;
执行结果:
03_alias
该语句在 CONCAT 函数后面多了 “AS vender_title”,它指示 SQL 创建一个包含指定计算的名为 vender_titile
的计算字段。从输出结果可看出,结果和之前相同,只不过现在的列名为 vender_title
,任何客户机应用都可以按名引用这个列,就像它是一个实际的表列一样。
别名有时也称为导出列(derived column)。
计算字段还可以对检索出的数据进行算术计算。比如说 price 列表示单价,quatity 列表示数量,要算每种商品的总价(price*quatity):
SELECT
product_name, price, quantity, price*quantity AS extended_price
FROM
warehouse;
执行结果:
04_math
MySQL 支持的算术运算符有:
算术运算符 | 说明 |
---|---|
+ | 加 |
- | 减 |
* | 乘 |
/ | 除 |
% | 求余 |
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有